我與新的Spring 4.0試驗@RestController返回來自控制器的簡單文本響應:春天@RestController不返回純文本響應
@RestController
@RequestMapping(value = "/heartbeat")
public class HeartbeatController {
private static final Logger logger = LoggerFactory.getLogger(HeartbeatController.class);
@RequestMapping
public String heartbeat() {
logger.info("Received heartbeat!");
return "I'm Alive!";
}
@RequestMapping(value = "/test", produces = MediaType.TEXT_PLAIN_VALUE)
public String heartbeat2() {
logger.info("Received heartbeat!");
return "I'm Alive!";
}
}
當我訪問/心跳,然後我回去:
"I'm Alive!"
結果包括雙引號,我沒有想到。
當我訪問/心跳/測試,然後我得到一個空迴應,但我期待我活着!文本。
UPDATE
捲曲-i http://myserver.com/rest/heartbeat
HTTP/1.1 200 OK 內容類型:應用/ JSON;字符集= UTF-8 服務器:開發/ 1.0 日期:星期二,17 2013年12月18時59分08秒GMT 緩存控制:無緩存過期 :週五,1990年1月1日00:00:00 GMT 的Content-Length: 「我還活着」 12
捲曲-i -H 「接受:應用/ JSON」 http://myserver.com/rest/heartbeat HTTP/1.1 200 OK 內容類型:應用/ JSON;字符集= UTF-8 服務器:開發/ 1.0 日期:星期二,12月17日2013 GMT 19點01分12秒 緩存控制:無緩存過期 :週五,1990年1月1日00:00:00 GMT 的Content-Length: 「我還活着」 12
捲曲-i http://myserver.com/rest/heartbeat/test
HTTP/1.1 406不接受 服務器:開發/ 1.0 日期:星期二,2013年12月17日十九時00分13秒GMT 緩存控制:無緩存過期 :星期五,1990年01一月00:00:00 GMT 的Content-Length:0
捲曲-i -H 「接受:text/plain的」 http://myserver.com/rest/heartbeat/test
HTTP/1.1 406不接受 服務器:DEVELOPME NT/1.0 日期:星期二,2013年12月17日19時02分06秒GMT 緩存控制:無緩存 到期日:星期五,1990年1月1日00:00:00 GMT 的Content-Length:0
你在做這個瀏覽器還是來自其他HTTP客戶端? –
我對Spring 4並不熟悉,但是你不需要'@ ResponseBody'嗎?我只是好奇。 –
使用chrome調試器或者firebug發佈完整的HTTP響應,所以我們可以看到返回代碼等。 –