sirve responseentity responsebody requestbody que para example java spring spring-mvc

java - requestbody - ¿Cuál es la diferencia entre ResponseEntity<T> y @ResponseBody?



responseentity spring boot example (1)

ResponseEntity le dará cierta flexibilidad agregada para definir encabezados de respuesta HTTP arbitrarios. Vea el 4to constructor aquí:

http://docs.spring.io/spring/docs/3.0.x/api/org/springframework/http/ResponseEntity.html

ResponseEntity(T body, MultiValueMap<String,String> headers, HttpStatus statusCode)

Una lista de posibles encabezados de respuesta HTTP está disponible aquí:

http://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Responses

Algunos de uso común son Estado, Tipo de contenido y Control de caché.

Si no lo necesita, usar @ResponseBody será un poco más conciso.

Tengo un controlador simple en mi controlador que devuelve un mensaje

@RequestMapping(value = "/message") @ResponseBody public Message get() { return new Message(penguinCounter.incrementAndGet() + " penguin!"); }

Al mismo tiempo, puedo usar algo como esto

@RequestMapping(value = "/message") ResponseEntity<Message> get() { Message message = new Message(penguinCounter.incrementAndGet() + " penguin!"); return new ResponseEntity<Message>(message, HttpStatus.OK); }

¿Cuál es la diferencia entre estos dos enfoques? No tomemos en cuenta HttpStatus :)