Melhorando retornos da API

This commit is contained in:
Gustavo Barbosa 2025-07-31 15:06:17 -03:00
parent 794af50f3a
commit 09a949216e

View file

@ -3,8 +3,12 @@ package casa.sotu.organizajogos.api.recursos;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import org.jboss.resteasy.reactive.ResponseStatus;
import org.jboss.resteasy.reactive.RestResponse.StatusCode;
import casa.sotu.organizajogos.api.modelo.Jogo; import casa.sotu.organizajogos.api.modelo.Jogo;
import casa.sotu.organizajogos.api.persistencia.ArmarioJogo; import casa.sotu.organizajogos.api.persistencia.ArmarioJogo;
import jakarta.data.exceptions.OptimisticLockingFailureException;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.ws.rs.DELETE; import jakarta.ws.rs.DELETE;
import jakarta.ws.rs.GET; import jakarta.ws.rs.GET;
@ -36,24 +40,28 @@ public class RecursoJogo {
} }
@POST @POST
public void criaJogo(@Valid Jogo jogo) { @ResponseStatus(StatusCode.CREATED)
public UUID criaJogo(@Valid Jogo jogo) {
jogo.setId(UUID.randomUUID()); jogo.setId(UUID.randomUUID());
this.armarioJogo.insert(jogo); this.armarioJogo.insert(jogo);
return jogo.getId();
} }
@PUT @PUT
@Path("{id}") @Path("{id}")
@ResponseStatus(StatusCode.OK)
public void atualizaJogo(@PathParam("id") UUID id, @Valid Jogo jogo) { public void atualizaJogo(@PathParam("id") UUID id, @Valid Jogo jogo) {
jogo.setId(id); jogo.setId(id);
try { try {
armarioJogo.update(jogo); armarioJogo.update(jogo);
} catch (OptimisticLockingFailureException e) { } catch (OptimisticLockingFailureException e) {
throw new NotFoundException(e); throw new NotFoundException(e);
} }
} }
@DELETE @DELETE
@Path("{id}") @Path("{id}")
@ResponseStatus(StatusCode.OK)
public void remove(@PathParam("id") UUID id) { public void remove(@PathParam("id") UUID id) {
this.armarioJogo.deleteById(id); this.armarioJogo.deleteById(id);
} }