Secondo RFC5789 (http://tools.ietf.org/html/rfc5789), questo è esattamente ciò che è PATCH per:
Diverse applicazioni alla proroga del protocollo Hypertext Transfer (HTTP) richiedono una funzionalità per eseguire una modifica parziale delle risorse. Il metodo PUT HTTP consente solo la sostituzione completa di un documento. Questa proposta aggiunge un nuovo metodo HTTP, PATCH, per modificare una risorsa HTTP esistente.
La distinzione tra PATCH e PUT è descritto come:
La differenza tra i PUT e patch richieste si riflette nel modo il server elabora l'entità allegata per modificare la risorsa identificata dal richiesta-URI. In una richiesta PUT, l'entità inclusa è considerata una versione modificata della risorsa memorizzata sul server di origine e il client richiede che la versione memorizzata venga sostituita. Con PATCH, tuttavia, l'entità inclusa contiene un set di istruzioni che descrivono come una risorsa che attualmente risiede sul server di origine deve essere modificata per produrre una nuova versione.Sono anche descritti
Le limitazioni di POST:
Il metodo PUT è già definito per sovrascrivere una risorsa con un nuovo corpo completo, e non può essere riutilizzato per fare modifiche parziali. In caso contrario, proxy e cache, e persino client e server, potrebbero ottenere confuso sul risultato dell'operazione. POST è già in uso, ma senza ampia interoperabilità (per uno, non esiste un modo standard per scoprire supporto per il formato di patch) [...]
vorrei suggerire di leggere la RFC e rendere la vostra propria mente, ma a me sembra abbastanza chiaro - le richieste PATCH dovrebbero essere elaborate come aggiornamenti parziali. (NB non sono idempotente, a differenza di PUT.)
EDIT: come ha sottolineato Eugene nei commenti, anche se le richieste di patch vengono "neither safe nor idempotent as defined by [RFC2616]"
, possono essere realizzati in modo da:
Una richiesta patch può essere rilasciato in modo tale da essere idempotente, , che aiuta anche a prevenire i cattivi risultati dalle collisioni tra due richieste di PATOLOGIA sulla stessa risorsa in un intervallo di tempo simile. Le collisioni da più richieste PATCH possono essere più pericolose delle collisioni PUT perché alcuni formati di patch devono operare da un punto base noto altrimenti corromperanno la risorsa. Client utilizzando questo tipo di applicazione di patch DOVREBBE utilizzare una richiesta condizionale tale che la richiesta avrà esito negativo se la risorsa è stata aggiornata poiché l'ultimo accesso al client della risorsa. Ad esempio, il client può utilizzare un forte ETag [RFC2616] in un'intestazione If-Match sulla richiesta PATCH .
@prashanath U Got qualsiasi soluzione – CoronaPintu