springboot中的@requestbody注解接收非json格式字符串参数
问题:
如何使用@requestbody注解,接收一个非json格式的字符串参数?
回答:
@requestbody注解通常用于接收json格式的请求体参数。然而,如果需要接收非json格式的字符串,则可以通过以下方式实现:
1. 设定请求头
在发送请求时,指定请求头content-type为text/plain。这将指示spring,请求体不是json格式,而是一个普通的文本字符串。
post /sendnews http/1.1 content-type: text/plain
2. 禁用json解析
在spring boot中,可以使用@springbootapplication(scanbasepackages = {"..."}, exclude = {requestbodyadvice.class})注解禁用json解析。这将防止spring将请求体解析为json。
代码示例:
@springbootapplication(scanbasepackages = {"com.example.demo"}, exclude = {requestbodyadvice.class}) public class demoapplication { public static void main(string[] args) { springapplication.run(demoapplication.class, args); } }
上述设置后,@requestbody修饰的字符串参数将接收并处理为一个文本字符串:
@PostMapping(value = "/SendNews") public String sendContent(@RequestBody String lstMsgId) { System.out.println(lstMsgId); return lstMsgId; }
以上就是SpringBoot @RequestBody注解如何接收非JSON格式的字符串参数?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号