解決@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。

推薦閱讀: