SpringBoot @RequestBody如何接收非JSON格式字符串参数?

springboot @requestbody如何接收非json格式字符串参数?

springboot的@requestbody注解如何接收非json格式字符串参数?

当使用@requestbody注解修饰字符串参数时,如果请求不包含json格式参数,可能会报json解析错误。本文将分析原因并提供解决方案。

问题

请求中包含非json格式字符串参数,如:”90c8c36f23a94c1487851129aa47d690/90c8c36f23a94c1487851129aa47d690″。

原因

@requestbody注解隐含定义了content-type为”application/json”,因此spring boot期望请求体为json格式。当请求中不包含json格式参数时,就会尝试解析非json字符串为json,从而引发错误。

解决方案

修改请求头的content-type,使其为”text/plain”。这样spring boot就不会尝试将请求体解析为json,而是直接将非json字符串作为参数传递给控制器的@requestbody方法。

修改后代码示例:

@PostMapping(value = "/SendNews")public  String sendContent(HttpServletRequest request,@RequestBody(required = false) String lstMsgId) {    request.setCharacterEncoding("UTF-8");    BufferedReader reader = request.getReader();    lstMsgId = reader.readLine();    System.out.println(lstMsgId);    return lstMsgId;}

登录后复制

以上就是SpringBoot @RequestBody如何接收非JSON格式字符串参数?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2608078.html

(0)
上一篇 2025年3月6日 20:34:42
下一篇 2025年3月6日 20:34:51

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论