Spring 3.1を使用していて、文字列値を返すハンドラーがあります。ハンドラーは次のようになります。
@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
最後にwithでメソッドにアノテーションを付けてみreturn ret;
ました。
どちらの場合も、サービスにアクセスすると、文字列値の前後に余分な引用符が表示されます(例"This is a test"
)。これはメッセージ変換によるものだと思います。Content-Type
そのため、StringHttpMessageConverterを明示的にヒットするために、ヘッダーを定義しようとしましたが、役に立ちませんでした。