Ajax post json数据,SpringBoot Rest api参数对应


化石原创文章,转载请注明来源并保留原文链接


使用Ajax,我们可以指定Post的格式,比如json、uft-8

    var post = {"title": title, "content": content, "catalog": catalog};
    
    $.ajax({
        type: 'post',
        async: true,
        data: JSON.stringify(post),
        url: document.location.origin + '/api/savearticle',
        dataType:'json',
        contentType: 'application/json; charset=utf-8',
        success: function(data) {
            console.log("保存成功");
        },
        error: function () {
            console.log("Ajax 发生错误!");
        }
    });

上面例子上的post数据,可以在SpringBoot服务器端用这样的方式接收:

@RestController
public class ArticleApi {
    @RequestMapping(value = "/api/savearticle", method = RequestMethod.POST,  consumes = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<?> saveArticle(@RequestBody Article article) {

    }
}

其中,Article是这样:

public class Article {
    private String title;
    private String content;
    private String catalog;

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getCatalog() {
        return catalog;
    }

    public void setCatalog(String catalog) {
        this.catalog = catalog;
    }
}

这样的方式,能让SpringBoot直接在底层就帮我们绑定好数据。如果加上@Valid,什么数据验证、取数据栏位等工作就方便多了,可以少些很多代码,提升开发效率。


化石原创文章,转载请注明来源并保留原文链接


发表评论

电子邮件地址不会被公开。 必填项已用*标注