Biz eğer ki json dönüş yaparken bazen status code'ları ve entitylerimizi birlikte dönmek isteriz. Bunun için ResponseEntity<> kullanacağız.
Eğer ki tipini bildiğimiz bir şey döneceksek:
- ResponseEntity<TİPİ>
- bilinmiyorsa eğer
- ResponseEntity<?>
- bırakılıp dönüş sağlanır.
@RestController
public class StatusResource {
@GetMapping("/status/ok/{id}")
public ResponseEntity<Player> getPlayer(@PathVariable(name = "id") long id) {
Player player = new Player(id, "DotNetGuard", 44D);
return ResponseEntity
.status(HttpStatus.OK)
.body(player);
}
@GetMapping("/status/notfound/{id}")
public ResponseEntity<?> getPlayerNotFound(@PathVariable("id") long id){
Player player = new Player(id, "DotNetGuard", 44D);
if (id == 0){
return ResponseEntity
.status(HttpStatus.NOT_FOUND)
.build();
}
return ResponseEntity
.status(HttpStatus.OK)
.body(player);
}
@GetMapping("/status/type/{id}")
public ResponseEntity<?> getType(@PathVariable("id") long id){
Player player = new Player(id, "DotNetGuard", 44D);
return ResponseEntity
.status(HttpStatus.OK)
// .contentType(MediaType.APPLICATION_JSON)
.contentType(new MediaType("application","json",Charset.forName("UTF-8")))
.body(player);
}
}