Cercando di elaborare il POST parziale dei dati in REST quando alcuni dati hanno esito positivo?

3

Ho una risorsa che accetta una serie di numeri. Ogni numero procede in modo interdipendente e il calcolo fallisce. Come dovrei comunicare al client API "alcuni dei tuoi numeri non potrebbero essere proseguiti, ma il resto è stato inoltrato con successo"?

    
posta Ginden 05.02.2015 - 15:19
fonte

1 risposta

2

Sembra che il metodo più diretto stia semplicemente restituendo un XML o JSON, con numeri e stato.

Per tua descrizione, immagino che una struttura come questa sia sufficiente:

{
   requestDate: '2015-02-05 12:32'
   results: [{
       number: 1,
       status: 'forwarded',
   },
   {
       number: 2,
       status: 'forwarded',
   },
   {
       number: 3,
       status: 'fail',
   }]
}

Penso anche che uno stato HTTP di 200 sia più indicato, poiché la richiesta del client è stata elaborata con successo. Puoi anche leggere nelle specifiche (enfasi mia):

10.2.1 200 OK

...

POST an entity describing or containing the result of the action;

Modifica: Ricercando un po 'di più sui codici di stato, penso che potrebbe essere meglio usare 207 Multi-Status :

The message body that follows is an XML message and can contain a number of separate response codes, depending on how many sub-requests were made.[4]

    
risposta data 05.02.2015 - 15:33
fonte

Leggi altre domande sui tag