SpringBoot @RequestBody注解如何接收非JSON格式的字符串参数?(注解.字符串.接收.参数.格式...)

wufei123 发布于 2025-01-09 阅读(24)

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

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格式的字符串参数?的详细内容,更多请关注知识资源分享宝库其它相关文章!

标签:  注解 字符串 接收 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。