1. 程式人生 > >springMVC使用@RequestBody接收Json的過程,解決415的問題ss

springMVC使用@RequestBody接收Json的過程,解決415的問題ss

今天學習SpringMVC過程中,遇到了用@RequestBody接收Json的問題,開始總是報415,後來翻牆找到了解決辦法,本人用的Spring4

Spring配置檔案所必須最簡配置:

<context:annotation-config />
<mvc:annotation-driven />
<bean id="jacksonMessageConverter"
 class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>

依賴配置,本人用的gradle

compile 'com.fasterxml.jackson.core:jackson-core:2.6.3'
compile 'com.fasterxml.jackson.core:jackson-databind:2.6.3'

後端程式碼

 @RequestMapping(value = "saveUser", method = {RequestMethod.POST})
    @ResponseBody
    public void saveUser(@RequestBody List<User> users) {
        for
(User user : users) { System.out.println(user.toString()); } }
public class User {
    private String userName;
    private String address;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public
String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "User{" + "username='" + userName + '\'' + ", address='" + address + '\'' + '}'; } }

前端程式碼

$(document).ready(function(){
    var saveDataAry=[];
    var data1={"userName":"test","address":"gz"};
    var data2={"userName":"ququ","address":"gr"};
    saveDataAry.push(data1);
    saveDataAry.push(data2);
    $.ajax({
        type:"POST",
        url:"saveUser",
        dataType:"json",
        contentType:"application/json",
        data:JSON.stringify(saveDataAry),
        success:function(data){

        }
    });
});

實驗結果

User{username='test', address='gz'}
User{username='ququ', address='gr'}

前端網路抓包
網路抓包圖片