Olá, de acordo com o vídeo o Guilherme comenta que existem 2 formas de alterar a quantidade. Porém só explicou 1.
Gostaria de saber qual seria esta segunda forma, pois creio que ele esqueceu durante a apresentação.
Obrigado
Olá, de acordo com o vídeo o Guilherme comenta que existem 2 formas de alterar a quantidade. Porém só explicou 1.
Gostaria de saber qual seria esta segunda forma, pois creio que ele esqueceu durante a apresentação.
Obrigado
Fala aí Felipe blz?
Quando trabalhamos com REST
temos dois métodos/verbos do protocolo HTTP
responsáveis por fazer alterações: PUT
, PATCH
.
O PUT
deve ser usando quando você quer substituir um recurso por outro (equivalente à alterar todas as propriedades do seu objeto.)
Já o PATCH
é usado quando você quer fazer uma substituição parcial do seu recursos ou substituir somente algumas informações.
De uma olhada na RFC
referente ao PATCH
: https://datatracker.ietf.org/doc/rfc5789/?include_text=1
O engraçado é que o JAX-RS
por padrão não tem a anotação para o método/verbo PATCH
. E caso haja a necessidade de utiliza-lo é preciso cria-la.
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@HttpMethod("PATCH")
public @interface PATCH {
}
Espero ter ajudado
Opa, Fernando,
Hj em dia no mercado é adotado qual modelo, na plataforma Java ?
Opa fala aí Felipe,
Eu particularmente uso os dois modelos, o que uso para decidir entre um e o outro é o valor semântico da operação que quero efetuar.
Por exemplo, imagine que temos a seguinte URI
/usuarios/1
e esta representação de usuário dentre outras informações tenha um atributo e-mail. Para alterar o e-mail do usuário eu utilizaria o PATCH
passando por exemplo {"email": "novo@email.com"}
pois estou alterando somente uma parte pequena da minha representação.
Agora vamos supor que eu tenho uma representação de um pagamento /pagamentos/1
e nessa representação é armazenado uma representação de estado do pagamento (EM ABERTO, PAGO, CONFIRMADO, CANCELADO).
Para fazer as transições do estado desse pagamento eu utilizaria o PUT
pois estou alterando a representação toda.
Obviamente nada me impede de utilizar o PUT
ao invés do PATCH
sempre que eu precisar atualizar. Mas costumo avaliar a semântica que quero dar a operação.
Espero ter ajudado.