javascript
@Springboot搭建项目controller层接收json格式的对象失败
今天在使用swagger2測試的時候出錯?
?
1、@requestBody注解常用來處理content-type不是默認的application/x-www-form-urlcoded編碼的內(nèi)容,比如說:application/json或者是application/xml等。一般情況下來說常用其來處理application/json類型。
2、
通過@requestBody可以將請求體中的JSON字符串綁定到相應(yīng)的bean上,當然,也可以將其分別綁定到對應(yīng)的字符串上。
例如說以下情況:
$.ajax({
url:"/login",
type:"POST",
data:'{"userName":"admin","pwd","admin123"}',
content-type:"application/json charset=utf-8",
success:function(data){
alert("request success ! ");
}
});
@requestMapping("/login")
public void login(@requestBody String userName,@requestBody String pwd){
System.out.println(userName+" :"+pwd);
}
這種情況是將JSON字符串中的兩個變量的值分別賦予了兩個字符串,但是呢假如我有一個User類,擁有如下字段:
String userName;
String pwd;
那么上述參數(shù)可以改為以下形式:
@requestBody User user 這種形式會將JSON字符串中的值賦予user中對應(yīng)的屬性上
需要注意的是,JSON字符串中的key必須對應(yīng)user中的屬性名,否則是請求不過去的。
3、
在一些特殊情況@requestBody也可以用來處理content-type類型為application/x-www-form-urlcoded的內(nèi)容,只不過這種方式
不是很常用,在處理這類請求的時候,@requestBody會將處理結(jié)果放到一個MultiValueMap<String,String>中,這種情況一般在
特殊情況下才會使用,
例如jQuery easyUI的datagrid請求數(shù)據(jù)的時候需要使用到這種方式、小型項目只創(chuàng)建一個POJO類的話也可以使用這種接受方式
總結(jié)
以上是生活随笔為你收集整理的@Springboot搭建项目controller层接收json格式的对象失败的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 技术贴:触摸屏(TP)技术交流
- 下一篇: gradle idea java ssm