2016-06-07 4 views
0

Я хотел бы вернуться к моему клиенту по отдыху простейшим ответом. Только:Весна, что является самым простым способом вернуть пользовательский статус Http, заголовки и тело для отдыха клиента

  • код состояния HTTP
  • HTTP статусное сообщение Создано
  • заголовка HTTP Content Тип
  • тело ответа HTTP Пользовательские строки ответа

Что является самым простым способом?

Я использовал, чтобы использовать ResponseEntity объект таким образом:

return new ResponseEntity<String>("Custom string answer", HttpStatus.CREATED);,

, но, к сожалению, я не могу просто пройти HTTP заголовка в конструкторе.

Я должен создать HttpHeaders объект и там добавить свой собственный заголовок, как это:

MultiValueMap<String, String> headers = new HttpHeaders(); 
headers.add(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_PLAIN_VALUE); 

return new ResponseEntity<String>("Custom string answer", headers, HttpStatus.CREATED); 

Но я ищу что-нибудь попроще. Что-то, что может соответствовать одной строке кода.

Может ли кто-нибудь помочь?

+0

Используйте конструктор вместо конструктора. 'return ResponseEntity.status (HttpStatus.CREATED) .contentType (MediaType.TEXT_PLAIN_VALUE) .body (« Пользовательский ответ строки »)'. –

+0

Ya, соглашайтесь с Denium –

+0

@ M.Deinum текст для справки. Оно работает. Могли бы вы опубликовать в качестве ответа, что я могу закрыть сообщение. – masterdany88

ответ

5

Как уже было предложено от @ M.Deinum это самый простой способ:

@RequestMapping("someMapping") 
@ResponseBody 
public ResponseEntity<String> create() { 
    return ResponseEntity.status(HttpStatus.CREATED) 
     .contentType(MediaType.TEXT_PLAIN) 
     .body("Custom string answer"); 
} 
0

Я думаю, что это поможет:

@RequestMapping(value = "/createData", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) 
@ResponseStatus(HttpStatus.CREATED) 
@ResponseBody 
public String create(@RequestBody Object input) 
{ 
    return "custom string"; 
}