亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何設置Spring Boot中@RequestBody反序列化實體的默認值?

如何設置Spring Boot中@RequestBody反序列化實體的默認值?

烙印99 2018-10-25 15:11:38
如何設置Spring Boot中@RequestBody反序列化實體的默認值
查看完整描述

1 回答

?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

可以的
在web程序開發中,前端和服務器數據的傳輸方式常用的有兩種,一種是以表單的形式提交,此時可以利用jquery的serialize()方法將表單內
容轉為a=1&b=2&c=3&d=4&e=5這樣的格式傳輸過去,接收端則可以用javabean直接接收。
還有一種方式是以json格式傳輸,接收時若直接用bean接收則接收不到,此時應該用@RequestBody方式,需要注意的是接收的需要是json串,而不是json對象,可以在發送前使用JSON.stringify函數進行處理。
例子如下
客戶端:

var url=path+'testConverter.html';
$.ajax(
{
url :
url,
type :
"POST",

dataType:"json",

contentType:'application/json;charset=UTF-8',

data:JSON.stringify({userId:'1',userName:'hello',password:'test',credits:'2',lastIp:'',lastVisit:'1986-05-27'}),
success :
function(data) {

alert(data.userName);

},
error:function(e){

alert("err");

}

服務端:
@RequestMapping(value="/testConverter.html")

@ResponseBody
public User
testConverter(@RequestBody User user)
{

System.out.println(user.getUserName());

user.setUserName("testname");

return
user;

}

上面例子中服務端返回的是個對象,@ResponseBody函數會自動將其轉換為客戶端要求的‘
dataType:"json",’格式。

最后需要注意的是
1,在xxx-serverlet配置文件中應該寫上,以便可以使用
@ResponseBody和@RequestBody

2,發送時要寫上 contentType:'application/json'

3,數組內容要用[]而不是list,用list會接收到一個map對象,而不是bean
-



查看完整回答
反對 回復 2018-11-05
  • 1 回答
  • 0 關注
  • 7373 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號