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:

  1. ResponseEntity<TİPİ>
  2. bilinmiyorsa eğer
  3. ResponseEntity<?>
  4. bırakılıp dönüş sağlanır.

StatusResource.java


@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);
    }
}