Używam Spring 3.1 i mam program obsługi, który powinien zwrócić wartość String. Oto jak wygląda mój obsługi:Spring MVC handler zwraca String z dodatkowymi cudzysłowami
@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);
}
Próbowałem też metody adnotacji z @ResponseBody
z return ret;
na końcu.
W obu przypadkach, po uruchomieniu usługi, otrzymuję dodatkowe kwotowanie wokół wartości ciągu (np. "This is a test"
). Zgaduję, że jest to spowodowane konwersją wiadomości. Dlatego próbowałem zdefiniować nagłówek Content-Type
, aby bezpośrednio trafić StringHttpMessageConverter, bez skutku.
Czy usunąłeś konwerter wiadomości JSON? Co jeśli nie chcesz usunąć konwertera wiadomości? –
Można kierować określone konwertery za pomocą odpowiedniego typu MIME w nagłówkach żądania/odpowiedzi. Spojrzenie pod maską to mi pomogło. – cbaby