REST - Percorso di raccomandazione: POST o GET?

1

Sto costruendo una rotta API che estrae i dati dal nostro server. Questi dati sono ordinati in modo arbitrario (mutevole e sconosciuto al modo client) e non restituiranno mai gli stessi dati più di una volta.

Al momento sto pensando che POST /resource/recommendation sia la firma più chiara per questo, ma mi piacerebbe sentire i pensieri degli altri.

    
posta jtmarmon 26.05.2015 - 16:16
fonte

1 risposta

2

Utilizza GET.

Il fatto che i dati cambino ogni volta che un client accede a esso non è un motivo per non utilizzare GET. Non si invia alcun dato al server Web, si sta semplicemente recuperando lo stato corrente della risorsa. Questo stato potrebbe cambiare continuamente, ad esempio GET /currenttime.html cambierà costantemente ogni volta che lo richiedi. Non c'è nulla nelle specifiche HTTP che dice che un client dovrebbe aspettarsi che una risorsa non cambi tra i GET. Il server può aggiornare la risorsa in qualsiasi modo ritenga opportuno, internamente oa causa di altri client che aggiornano la risorsa. Un client non dovrebbe mai presumere che una risorsa non sia cambiata dall'ultima volta che ha ottenuto il suo stato.

È comunque un motivo per utilizzare un ETag nell'intestazione della risposta per consentire al client (ea qualsiasi cache in mezzo) di sapere che il server ha modificato la risorsa da quando l'ultimo client l'ha acceduta. Un cliente può confrontare gli ETags per sapere che la risorsa è cambiata.

link

    
risposta data 27.05.2015 - 17:00
fonte

Leggi altre domande sui tag