解決@RequestBody使用不能class類型匹配的問題
@RequestBody不能class類型匹配
在首次第一次嘗試使用@RequestBody註解
開始加載字符串使用post
提交(貌似隻能post
),加Json
數據格式傳輸的時候,
data:{"stockCode":"601288","startTime":"2011-11-10 09:05","endTime":"2019-11-20 09:10"}", type: "POST", contentType: "application/json",
這麼做是完全沒有問題
但是當嘗試註入到一個class
裡面,怎麼都進不去,直接報不允許加載,最後發現在小xml
裡面需要加上
<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"/> </mvc:message-converters> </mvc:annotation-driven>
並且修改
data:"{\"stockCode\":\"601288\",\"startTime\":\"2011-11-10 09:05\",\"endTime\":\"2019-11-20 09:10\"}",
這樣是沒有問題的!
@RequestBody 註意的問題
contentType : "application/json", //隻能是這個
RequestBody 不能和form/data共存:
@RequestMapping(value = "/api/user/platform/report", method = RequestMethod.POST) public ReturnData reportPlatform(RequestParamBean bean) { //自定義接受實體RequestParamBean logger.info("--------------首次登陸開始----------------"); try { bean.getDeviceFigure();
Springboot
在接收前端實體時,可以在後端建立相應的對象來直接接受,在此可以不使用@RequestBody
(隻能接收josn
的對象)@RequestPrama
接收單個字段,而非對象實體!
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- springboot @RequestBody 接收字符串實例
- @RequestBody不能映射到對象的解決
- POST方法給@RequestBody傳參數失敗的解決及原因分析
- java返回json請求中文變成問號的問題及解決
- SpringBoot 設置傳入參數非必要的操作