JSONデータを転送するSpringMVCメソッド

1. application / x-www-form-urlencodedを使用してデータを転送します

Ajaxのデフォルト形式は次のとおりです。application/ x-www-form-urlencoded、これはデータを渡すための(username = "admin"&password = 123)と同等です(これはGET要求の固定形式です)

フロントエンドコード:

当Ajax以默认格式上传时,data数据直接使用JSON对象user,不用转换为JSON字符串(很方便)
 var user= {
    
    
                "username" : username,
                "password" : password,
                "rememberMe":rememberMe
            };
$.ajax({
    
    
    url : "http://...../jsontest.do",
    type : "POST",
    data : user,
    dataType : 'json',
    success : function(data) {
    
    
    }
});

バックエンドコード:

@RequestMapping("/jsontest.do")
public void test(User user,String username,String password,Boolean rememberMe){
    
    
    System.out.println(user);
    System.out.println("username: " + username);
    System.out.println("password: " + password);
    System.out.println("rememberMe: " + rememberMe);
    
}

次に、application / json形式を使用してデータを転送します

フロントエンドコード:

var user= {
    
    
                "username" : username,
                "password" : password
          };
$.ajax({
    
    
        url : "http://...../jsontest.do",
        type : "POST",
        async : true,
        contentType: "application/json; charset=utf-8",
        data : JSON.stringify(user),
        dataType : 'json',
        success : function(data) {
    
    
        }
 });

バックエンドコード:

//必须使用@RequestBody 注解
@RequestMapping("/jsontest")
public void test(@RequestBody User user){
    
    
    String username = user.getUsername();
    String password = user.getPassword();
}

或者

@RequestMapping("/jsontest")
public void test(@RequestBody Map map){
    
    
    String username = map.get("username").toString();
    String password = map.get("password").toString();
}

或者

 public void test(@RequestBody String jsonData) {
    
    
    JSONObject jsonObject = JSON.parseObject(jsonData);
    String username= jsonObject.getString("username");
    String username= jsonObject.getString("password");
 }

おすすめ

転載: blog.csdn.net/weixin_41699562/article/details/104861971