1. 程式人生 > >關於springmvc接收json物件的方式

關於springmvc接收json物件的方式

今天想在後臺單獨接收一個引數“fullname”,前臺傳送的資料格式是json,在處理的過程中發現了一些問題。

1.前端傳送的json資料問題,剛開始是使用vux  ajax的get方法傳fullname,後臺一直報錯說沒有沒有收到引數,很奇怪。後來檢視請求體,還是沒有內容。後來請求方式改成post,請求裡就有內容裡。

所以:後臺使用resqusetBody接收引數時,vux裡使用get,這時後臺是接收不到值得,此時只能用post。

後臺要是有get方式的話,後臺用 resqusetParam 才能接收

2.因為我只傳一個值,所以再單獨寫一個pojo類,顯然是不合適的。觀察了一段時間請求內容後,發現json其實使用的就是鍵值對的形式傳遞資料,所以使用map格式接受資料應該也是可行的。實體類只是將這些鍵值對自動裝配到物件的屬性裡。

我使用@requestbody接收後,發現還是不行,使用debug後,發現傳輸格式不對,格式居然是:{"params":{"fullname":"上海第一醫院"}} ,後來意識到我在前端api.js檔案裡寫法可能有問題,改成

export const getHospInfor = params => { return axios.post(`${base}/getHospInfor`,params).then(res => res.data); };

這樣就沒問題了,之前傳值寫法是 {params:params},所以後來發送的時候,多了{“params”}