首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ModelAttribute为空

ModelAttribute为空
EN

Stack Overflow用户
提问于 2018-06-20 19:51:31
回答 2查看 458关注 0票数 0

我用弹簧引导2

控制器部分

代码语言:javascript
复制
@PostMapping("template/new/samplings")
@ResponseBody
public SamplingsDto save(@ModelAttribute SamplingsDto samplings) {
    return samplingsService.save(samplings);
}

我试着保存表单

代码语言:javascript
复制
$("#samplingsForm").submit(function (e){
    e.preventDefault();

    var receptionDate =  $("#samplingsReceptionDatePicker").data('daterangepicker').startDate.format('YYYY-MM-DD');
    var buildDate =  $("#samplingsBuildDatePicker").data('daterangepicker').startDate.format('YYYY-MM-DD');

    var form = transForm.serialize('#samplingsForm');

    form.receptionDate=receptionDate;
    form.buildDate=buildDate;

    form = JSON.stringify(form);

    $.ajax({
        type:"post",
        url: "/template/new/samplings",
        data: form,
        contentType: "application/json",
        dataType : "json",
        success: function(data){
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
        }
    });

});

使用铬请求的有效负载是

{“samplingsId”:"buildDate":"2018-06-20","receptionDate":"2018-06-20","productTypesId":"1","productsId":"15","}“

在服务器模型属性字段中为空。

编辑

代码语言:javascript
复制
public class SamplingsDto {

        private Integer samplingsId;

        private Integer productTypesId;

        private Integer productsId;

        private LocalDate receptionDate;

        private LocalDate buildDate;

        //get set
    }
EN

回答 2

Stack Overflow用户

发布于 2018-06-20 20:21:25

首先,为SamplingsDto的属性添加setter和getter。(我也会将Lombok用于setter/getter)

代码语言:javascript
复制
public class SamplingsDto {
    private Integer samplingsId;

    private Integer productTypesId;

    private Integer productsId;

    private LocalDate receptionDate;

    private LocalDate buildDate;

    public Integer getSamplingsId() {
        return samplingsId;
    }

    public void setSamplingsId(Integer samplingsId) {
        this.samplingsId = samplingsId;
    }

    public Integer getProductTypesId() {
        return productTypesId;
    }

    public void setProductTypesId(Integer productTypesId) {
        this.productTypesId = productTypesId;
    }

    public Integer getProductsId() {
        return productsId;
    }

    public void setProductsId(Integer productsId) {
        this.productsId = productsId;
    }

    public LocalDate getReceptionDate() {
        return receptionDate;
    }

    public void setReceptionDate(LocalDate receptionDate) {
        this.receptionDate = receptionDate;
    }

    public LocalDate getBuildDate() {
        return buildDate;
    }

    public void setBuildDate(LocalDate buildDate) {
        this.buildDate = buildDate;
    }
}

然后您可以按以下方式使用它:

代码语言:javascript
复制
@PostMapping("template/new/samplings")
public SamplingsDto save(@RequestBody SamplingsDto samplings) {
    return samplingsService.save(samplings);
}
票数 1
EN

Stack Overflow用户

发布于 2018-06-21 11:01:45

您需要创建rest rest服务来接收此请求。添加@RestController注释并将标头设置为application/json。我希望这能帮助你解决你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50956050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档