解决@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
接收单个字段,而非对象实体!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
关于Springboot | @RequestBody 接收到的参数对象属性为空的问题
背景 今天在调试项目的时候遇到一个坑,用Postman发送一个post请求,在Springboot项目使用@RequestBody接收时参数总是报不存在,但是多次检查postman上的请求格式以及项目代码都没有问题 Postman: 请求参数: { "firstName":"fdsaf", "lastName":"dfasdf" } Controller: Entity 通过debug模式可以发现传进到实体的参数都为null
-
解读@RequestBody的正确使用方法
本文主要研究的是关于@RequestBody的正确使用方法的相关内容,具体如下. 最近在接收一个要离职同事的工作,接手的项目是用SpringBoot搭建的,其中看到了这样的写法: @RequestMapping("doThis") public String doThis(HttpServletRequest request, @RequestParam("id") Long id, // 用户ID @RequestParam("back_url"
-
Spring boot @RequestBody数据传递过程详解
这篇文章主要介绍了Spring boot @RequestBody数据传递过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 @RequestBody需要接的参数是一个string化的json @RequestBody,要读取的数据在请求体里,所以要发post请求,还要将Content-Type设置为application/json java的api 参数为JSONObject,获取到的参数处理 @PostMapping("/combine
-
快速解决SpringMVC @RequestBody 用map接收请求参数的问题
一:遇到个跨域调用,因为传个我的参数不定,所以需要通过map来接收参数并进行签名验证等操作 理所当然的写出了下面的代码,但是发现map里并没有获取到传来的key-value值 @RequestMapping(value = "/callback", produces = "text/html;charset=UTF-8") @ResponseBody public String callback(@RequestBody Map<String, String&
-
@RequestBody的使用详解
提示:建议一定要看后面的@RequestBody的核心逻辑源码以及六个重要结论!本文前半部分的内容都是一些基 本知识常识,可选择性跳过. 声明:本文是基于SpringBoot,进行的演示说明. 基础知识介绍: @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的):GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交.在后端的同一个接收方法里,@RequestBody与@Request
-
解决@RequestBody使用不能class类型匹配的问题
@RequestBody不能class类型匹配 在首次第一次尝试使用@RequestBody注解 开始加载字符串使用post提交(貌似只能post),加Json数据格式传输的时候, data:{"stockCode":"601288","startTime":"2011-11-10 09:05","endTime":"2019-11-20 09:10"}", type: &qu
-
解决feignClient调用时获取返回对象类型匹配的问题
feignClient调用时获取返回对象类型匹配 feignClient是springCloud体系中重要的一个组件,用于微服务之间的相互调用,底层为httpClient,在之前的应用中,我一直以为A服务提供的方法返回类型为对象的话,那么调用A服务的B服务必须也用字段类型以及命名完全相同的对象来接收,为此我验证了一下,发现不是必须用完全相同的对象来接收,比如,可以用map<String,Object>或者Object来接收,然后解析. 当然,复杂对象我还是推荐用一个完全相同的对象来接收. 下面
-
Mysql字段和java实体类属性类型匹配方式
Mysql字段和java实体类属性类型匹配 参见下图: 数据库字段转实体类字段 DROP FUNCTION IF EXISTS f_spiltStr; CREATE FUNCTION `f_spiltStr`(DATA1 varchar(50)) RETURNS varchar(1000) CHARSET utf8 BEGIN SET @length = LENGTH(DATA1) - LENGTH(REPLACE(DATA1,'_','')); SET @i = 1; set @result
-
解决@RequestBody部分属性丢失的问题
目录 @RequestBody部分属性丢失 问题描述 JavaBean实现 Controller实现 postman接口请求展示 结论 springboot @RequestBody注入属性为空 对象属性为 我的解决办法 @RequestBody部分属性丢失 问题描述 JavaBean实现 public class VerifyNewFriendApplyReq implements Serializable { /** * 申请ID */ private Long applyId; /** *
-
解决 JScript 中使用日期类型数据时出现类型错误的问题
例如以下代码: 程序代码: 复制代码 代码如下: <%@LANGUAGE="JScript" CODEPAGE="65001"%> <script language="JScript" runat="server"> Response.Cookies("xujiwei")("name") = "xujiwei"; Response.Coo
-
解决@RequestBody接收json对象报错415的问题
@RequestBody接收json对象报错415 前端请求: $.ajax({ url: basePath() + "/index/login.do", type : "post", data: JSON.stringify(form), dataType : "json", contentType : "application/json;charset=utf8", success: function (data) { c
-
解决@RequestBody搭配@Data的大坑
@RequestBody搭配@Data的坑 如果用@Data修饰实体类,里面的属性最好不要用连续几个相同字母,如果用千万别用大写. 比如下面这个User类 @Data public class User{ private Integer userId; private String tel; private String QQ; } 如果这样写,你在后台方法用@RequestBody获取到的QQ会变成null @PostMapping(value = "/addPrivGroup")
-
解决MyBatis @param注解参数类型错误异常的问题
问题现象 今天使用mybatis遇到个很奇怪的问题,我使用一个参数@param("threshold"),类型是java的double,但是很奇怪,一直告诉我参数转换错误,int不能转double,我就奇怪了,哪里来的int. 解决办法 我感觉可能使用用到了mybatis的关键字,所以就把threshold换了个名字,果然好了. 问题原因 某些关键词,mybatis会认为是某种类型,下面列出来一些,后面发现再补充. size, threshold, modCount是int类型 loa
-
解决MyBatis中模糊搜索使用like匹配带%字符时失效问题
目录 1.问题背景 2.解决方法 2.1.在入参SearchVo上进行特殊符号relpace转换 2.2.使用ESCAPE 2.3.总结 1.问题背景 Mybatis是我们日常项目中经常使用的框架,在项目中我们一般会使用like查询作为模糊匹配字符进行搜索匹配,下面的Mapper.xml是我们使用like在项目中进行模糊匹配的常用方式: <sql id="searchCondition"> <trim prefix="where" prefixOv
-
node.js解决获取图片真实文件类型的问题
遇到一个需求:假定有一个图片文件,真实的类型为jpg,而有人偷懒把jpg直接复制一张,存为同名的png文件,这样在as3读取文件时不会遇到问题,但手机c++在读取文件时却遇到问题了 - -! 现在就需要写一个程序,遍历所有文件夹下的文件,查找文件格式"不正常"的文件.我们的资源主要是gif.png.jpg,最开始,我到网上找到一篇文章:根据二进制流及文件头获取文件类型mime-type,然后读取文件二进制的头信息,获取其真实的文件类型,对与通过后缀名获得的文件类型进行比较. 复制代码
随机推荐
- 调用MySQL中数据库元数据的方法
- DOS下网络浏览器的使用方法
- Python深入学习之特殊方法与多范式
- Python增量循环删除MySQL表数据的方法
- 五段实用的js高级技巧
- python网络编程调用recv函数完整接收数据的三种方法
- C#中Ilist与list的区别小结
- Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
- Python中标准库OS的常用方法总结大全
- Mysql的longblob字段插入数据问题解决
- 探索PowerShell(一) 初识 PowerShell
- 人工智能自动sql优化工具--SQLTuning for SQL Server
- JS获取本周周一,周末及获取任意时间的周一周末功能示例
- 菜鸟javascript基础资料整理2
- IE6、IE7中获取Button元素的值的bug说明
- Android使用OkHttp请求自签名的https网站的示例
- SpringBoot 多任务并行+线程池处理的实现
- 详解python中list的使用
- python3+selenium实现126邮箱登陆并发送邮件功能
- Java 客户端向服务端上传mp3文件数据的实例代码