Я экспериментирую с новым Spring 4.0 @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!";
}
}
Когда я получаю доступ /heartbeat, я возвращаюсь:
"I'm Alive!"
Результат включает двойные кавычки, чего я не ожидал.
Когда я получаю доступ к /heartbeat/test, я получаю пустой ответ, но я ожидаю, что я жив! текст.
UPDATE
curl -i http://myserver.com/rest/heartbeat
HTTP/1.1 200 OK Content-Type: application/json; charset = UTF-8 Сервер: Разработка /1.0 Дата: Вт, 17 дек. 2013 18:59:08 GMT Cache-Control: no-cache Истекает: Пт, 01 янв 1990 00:00:00 GMT Content-Length: 12
"Я жив!"
curl -i -H "Accept: application/json" http://myserver.com/rest/heartbeat HTTP/1.1 200 OK Content-Type: application/json; charset = UTF-8 Сервер: Разработка /1.0 Дата: Вт, 17 дек. 2013 19:01:12 GMT Cache-Control: no-cache Истекает: Пт, 01 янв 1990 00:00:00 GMT Content-Length: 12
"Я жив!"
curl -i http://myserver.com/rest/heartbeat/test
HTTP/1.1 406 Не допускается Сервер: Разработка /1.0 Дата: Вт, 17 дек. 2013 19:00:13 GMT Cache-Control: no-cache Истекает: Пт, 01 янв 1990 00:00:00 GMT Content-Length: 0
curl -i -H "Accept: text/plain" http://myserver.com/rest/heartbeat/test
HTTP/1.1 406 Не допускается Сервер: Разработка /1.0 Дата: Вт, 17 Дек. 2013 19:02:06 GMT Cache-Control: no-cache Истекает: Пт, 01 янв 1990 00:00:00 GMT Content-Length: 0