Skip to content

📚 Spring Boot 2 Essentials - Método POST, DELETE e PUT #59

Description

@JayCesar

POST

    @PostMapping
    // @ResponseStatus(HttpStatus.CREATED) // assim tmb é possível
    public ResponseEntity<Anime> save(@RequestBody Anime anime){
        // Eu utilizo o Jackson para fazer o mapemaneto automático
        // Se ele encontrar o Json igula ao conteúdo de classe, ele faz o mapeamento
        // ResponseEntity.created() precisa de uma URI
        return new ResponseEntity<>(animeService.save(anime), HttpStatus.CREATED); // Assim eu retorno um 201
    }

Eu utilizo o HttpStatus.CREATED para poder gerar o código da request no Insominai / Navegador

"Gambiarra" para simular um anco:

    private static List<Anime> animes;

    static {
        animes = new ArrayList<>(List.of(new Anime(1L, "Dragon Ball (Test - Build - Hot Swap)"), new Anime(2L, "Bersek")));
    }

Método para salvar:

   public Anime findById(long id) {
        return animes.stream()
                .filter(anime -> anime.getId().equals(id))
                .findFirst()
                .orElseThrow(() -> new ResponseStatusException(HttpStatus.BAD_REQUEST, "Anime not found"));
    }

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions