@RequestBody @ResponseBody @RestController & ResponseEntity

@RequestBody
Simply put, the @RequestBody annotation maps the HttpRequest body to a transfer or domain object...

@ResponseBody
The @ResponseBody annotation tells a controller that the object returned is automatically serialized into JSON and passed back into the HttpResponse object...

@RestController
RestController-annotated controllers include @Controller and @ResponseBody by default.

See the original article here: https://www.baeldung.com/spring-request-response-body


ResponseEntity 
"... represents the whole HTTP response: status code, headers, and body. Because of it, we can use it to fully configure the HTTP response."
https://www.baeldung.com/spring-response-entity