正如在RFC 7159中舉例說明的那樣,字符串etc基本類型是它們自己的有效json消息。但是字符串必須用雙引號括起來。如何使RestController處理json字符串正確
所以,字符串:
測試
在JSON是:
「測試」
如果我發送一個正確引用POST體
「測試」
以下代碼
@RestController
@RequestMapping("test")
public class TestController{
@RequestMapping(method=RequestMethod.POST)
public ResponseEntity<?> userLogout(@RequestBody final String input) {
System.out.println(input);
return new ResponseEntity<>("OK", HttpStatus.OK);
}
}
輸入變量的值是
「測試」
代替
測試
這將是正確的值。
另外請求的輸出是
行代替的
「OK」
這將是正確的輸出。
任何想法如何強制春季正確處理字符串?
該請求確實正確的報頭:
內容類型:應用/ JSON; charset = UTF-8
而向RequestMapping註釋添加produce =「application/json」並沒有幫助。
(只是一個側面說明:如果您使用改造或GSON溝通,他們做妥善處理字符串。)
[在彈簧其餘控制器簡單字符串作爲JSON返回值](的可能的複製http://stackoverflow.com/questions/23581619/simple-string-as-json-return-value-in-spring-其餘控制器) –
這有幫助嗎? http://stackoverflow.com/questions/18385361/return-json-for-responseentitystring另外嘗試調整消費媒體類型 – Bernhard
@Bernhard不,這並沒有幫助,在那個問題上沒有解決方案 – Groosa