首页 > 编程语言 > 解决@RequestBody使用不能class类型匹配的问题
2021
10-25

解决@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 接收单个字段,而非对象实体!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编程网。

编程技巧