Gestione dei formati di risposta REST

4

Sembra che i nuovi siti Web (e soprattutto le API) utilizzino i formati delle richieste aggiungendo il formato previsto alla fine del percorso dell'URL.

/path/to/resource.html
/path/to/resource.json
/path/to/resource.xml

Ci sono problemi con questo approccio? Ci sono studi o profili dei pro e contro di fare questo invece di elencare semplicemente la risorsa senza un'estensione del tipo di file?

    
posta Xeoncross 15.12.2011 - 00:32
fonte

2 risposte

2

Da xml.com :

A resource may have more than one representation. There are four frequently used ways of delivering the correct resource representation to consumers:

  1. Server-driven negotiation. The service provider determines the right representation from prior knowledge of its clients or uses the information provided in HTTP headers like Accept, Accept-Charset, Accept-Encoding, Accept-Language, and User-Agent. The drawback of this approach is that the server may not have the best knowledge about what a client really wants.
  2. Client-driven negotiation. A client initiates a request to a server. The server returns a list of available of representations. The client then selects the representation it wants and sends a second request to the server. The drawback is that a client needs to send two requests.
  3. Proxy-driven negotiation. A client initiates a request to a server through a proxy. The proxy passes the request to the server and obtains a list of representations. The proxy selects one representation according to preferences set by the client and returns the representation back to the client.
  4. URI-specified representation. A client specifies the representation it wants in the URI query string.

Considererei una differenziazione basata su URI come il metodo meno preferibile.

    
risposta data 15.12.2011 - 03:45
fonte
0

A parte le implicazioni SEO o estetiche, non ci sono pro o contro che io conosca.

Forse potrebbe influire su alcune impostazioni di memorizzazione nella cache che potrebbero evitare di memorizzare nella cache gli URL con stringhe di query (nel caso si utilizzi un argomento stringa di query per specificare il formato), ma questo non è un problema dell'API.

Forse si potrebbe dire che usare le estensioni è più "REST" in quanto rappresenta la risorsa in un modo migliore. Forse alcune librerie / framework hanno una preferenza per alcuni o altri schemi al fine di esporre o accedere alle risorse.

Ho scritto un articolo sull'aspetto di alcune API REST pubbliche ... forse può aiutarti: un'occhiata alle varie API REST .

    
risposta data 15.12.2011 - 02:48
fonte

Leggi altre domande sui tag