gpt4 book ai didi

spring-mvc - Spring MVC 处理程序返回带有额外引号的字符串

转载 作者:行者123 更新时间:2023-12-04 01:59:55 25 4
gpt4 key购买 nike

我正在使用 Spring 3.1,并且我有一个应该返回 String 值的处理程序。
这是我的处理程序的样子:

@RequestMapping(value = TEST_HANDLER_PATH, method = RequestMethod.POST)
public ResponseEntity<String> handleTest(HttpServletRequest request,
@RequestParam("parma1") String param) throws Exception {
String ret = ...
...
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "text/plain;charset=utf-8");
return new ResponseEntity<String>(ret, headers, HttpStatus.CREATED);
}

我也尝试使用 @ResponseBody 注释方法与 return ret;在末尾。

在这两种情况下,当我点击服务时,我会在字符串值周围得到额外的引号(例如 "This is a test" )。
我猜这是由于消息转换造成的。这就是为什么我尝试定义 Content-Type header ,显式命中 StringHttpMessageConverter,但无济于事。

最佳答案

有同样的问题。

只要确保您注册了 org.springframework.http.converter.StringHttpMessageConverter以及您的 Jackson 一个,以便按字面意思处理字符串,而不是尝试将其转换为 JSON(带有额外的引号)。

只需使用默认构造函数或具有首选字符集的构造函数进行实例化。媒体类型应该使用标准的内部默认设置为您设置。如果您通过代码扩展 WebMvcConfigurerAdapter 进行配置然后您只需在 configureMessageConverters(List<HttpMessageConverter<?>> converters) 中添加转换器方法。

关于spring-mvc - Spring MVC 处理程序返回带有额外引号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14293469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com