Qual è il tipo di supporto Internet preferito per una richiesta POST RESTful?

4

Esiste un tipo di supporto Internet preferito per richieste RESTful POST?

Ad esempio, se voglio aggiungere un nuovo utente, dovrei inviare i dati come una stringa con codifica URL come:

name=Foo&otherData=Bar

o REST consiglia di inviare i dati in qualunque formato la risposta verrà inviata come (ad esempio JSON / XML)?

<user>
  <name>Foo</name>
  <other-data>Bar</other-data>
</user>
    
posta rdasxy 15.04.2012 - 04:09
fonte

3 risposte

7

In genere i servizi Web supportano sia XML che JSON in base alle preferenze dell'utente. Molte persone tendono a utilizzare JSON perché in genere consentono di inviare gli stessi dati in modo più compatto, il che è importante per i servizi Web (soprattutto se dispongono di client mobili).

    
risposta data 15.04.2012 - 04:27
fonte
4

Se puoi scegliere, usa JSON. È semplice, leggibile, facilmente gestibile sia nel server, client o JavaScript del browser, e veloce da analizzare. Ed è in effetti lo standard informale per REST. Sebbene XML sia generalmente supportato anche dalla maggior parte dei framework, non c'è motivo di usarlo a meno che tu non sia in qualche modo obbligato a farlo. Ma una stringa simile a un URL non è sicuramente una codifica normale per i dati POST in REST.

    
risposta data 16.04.2012 - 03:32
fonte
1

Is there a preferred/recommended Internet Media Type for RESTful POST requests?

No, non c'è. Utilizza il tipo di media più conveniente per i client che devono accedere all'API.

Detto questo, dovresti sempre cercare di utilizzare formati ben standardizzati, come XML o JSON o application / x-www-form-urlencoded per ridurre la quantità di lavoro necessaria nel client. Inoltre, se l'API è pensata per essere utilizzata all'esterno dell'organizzazione, è necessario accettare le richieste in più tipi di media per consentire ai client di scegliere quello più conveniente per loro; richiedere al client di inviare un'intestazione Content-Type nelle loro richieste in modo che il server sappia come decodificare il corpo della richiesta.

or does REST recommend I send the data as whatever format the response is going to be sent as (e.g. JSON/XML)?

Non c'è alcun obbligo per il corpo della richiesta di avere lo stesso tipo di contenuto della risposta, né alcuna necessità. Un client REST deve inviare un'intestazione Content-Type per specificare il tipo di supporto della richiesta e l'intestazione Accept per negoziare il tipo di supporto di risposta.

    
risposta data 31.05.2014 - 05:44
fonte

Leggi altre domande sui tag