diff --git a/src/main/java/casa/sotu/organizajogos/api/recursos/RecursoJogo.java b/src/main/java/casa/sotu/organizajogos/api/recursos/RecursoJogo.java index 1e1de6e..15d54c3 100644 --- a/src/main/java/casa/sotu/organizajogos/api/recursos/RecursoJogo.java +++ b/src/main/java/casa/sotu/organizajogos/api/recursos/RecursoJogo.java @@ -3,8 +3,12 @@ package casa.sotu.organizajogos.api.recursos; import java.util.List; 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.persistencia.ArmarioJogo; +import jakarta.data.exceptions.OptimisticLockingFailureException; import jakarta.validation.Valid; import jakarta.ws.rs.DELETE; import jakarta.ws.rs.GET; @@ -36,24 +40,28 @@ public class RecursoJogo { } @POST - public void criaJogo(@Valid Jogo jogo) { + @ResponseStatus(StatusCode.CREATED) + public UUID criaJogo(@Valid Jogo jogo) { jogo.setId(UUID.randomUUID()); this.armarioJogo.insert(jogo); + return jogo.getId(); } @PUT @Path("{id}") + @ResponseStatus(StatusCode.OK) public void atualizaJogo(@PathParam("id") UUID id, @Valid Jogo jogo) { jogo.setId(id); try { - armarioJogo.update(jogo); + armarioJogo.update(jogo); } catch (OptimisticLockingFailureException e) { throw new NotFoundException(e); } } - + @DELETE @Path("{id}") + @ResponseStatus(StatusCode.OK) public void remove(@PathParam("id") UUID id) { this.armarioJogo.deleteById(id); }