Spring MVC处理程序返回带有额外引号的String


问题内容

我正在使用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);
}

最后,我还尝试了@ResponseBodywith的注释方法return ret;

在这两种情况下,当我点击该服务时,都会得到有关String值的额外引号(例如"This is a test")。我猜这是由于邮件转换引起的。这就是为什么我尝试定义Content- Type标头以显式命中StringHttpMessageConverter 的原因。


问题答案:

事实证明,其中一个导入中注册了一个JSON消息转换器。