En este artículo vamos a explicar las diferencias básicas que existen entre los métodos de PUT y PATCH para poderlos implementar correctamente a la hora de implementar nuestra API Rest.
Los métodos más básicos que tenemos son el de GET y POST, que utilizamos para consultar datos o para guardar datos respectivamente.
A la hora de querer llamar a nuestra API para actualizar datos, podemos utilizar cualquiera de los dos métodos comentados, PUT o PATCH.
¿Pero, cuál es la diferencia entre ellos?
Explicado básicamente, la diferencia entre el PUT y el PATCH es que en el PUT tenemos que enviar la representación completa del objeto que queremos actualizar, es decir enviar todos los campos del objeto, mientras que con el PATCH podemos enviar solo aquellos campos del objeto que queremos actualizar.
Normalmente antes de hacer un PUT necesitamos hacer un GET para obtener todos los datos del objeto, realizar nuestras modificaciones y enviarlo con el PUT.
Por contra, con el PATCH podemos enviar solo el campo que queremos modificar.
Imaginemos que queremos actualizar el número de teléfono de un cliente mediante nuestra API. Si queremos hacer un PUT deberemos recuperar TODOS los datos del cliente, y modificar el objeto entero con el número de teléfono cambiado. Por contra con un PATCH podremos enviar simplemente el número de teléfono y el ID del cliente y en el servidor nos encargaremos de actualizar solo ese campo. El resto de campos del cliente no serán actualizados.
Por contra, con un PUT, si nos dejaramos de enviar algún valor este se perdería puesto que se persistiría con un valor vacío.
Como podéis ver conocer las diferentes opciones que tenemos en una REST API es muy útil, ya que podemos aprovechar al máximo su potencia, y en este caso evitar tener que pasar objetos enteros en el caso de querer actualizar pocos campos.
Espero que os haya gustado la explicación.