Qual è la differenza tra la categoria / category_id / item_id e categoria? Category_id = {} & item_id = {} a REST?

StackOverflow https://stackoverflow.com/questions/1777447

Domanda

Ho appena iniziato a guardare a riposo e si chiedeva quale sia la differenza fondamentale tra le due rappresentazioni è stato. Il primo sembra piuttosto gentile con me e la seconda deve passare alcuni valori degli attributi, ma la logica di fondo sembra essere bollente per quasi la stessa cosa (potrei essere scambiato però)

http://url/category/category_id/item_id

E

http://url/category?category_id={12}&item_id={12334}
È stato utile?

Soluzione

Penso che si sta lavorando sotto alcune idee sbagliate fondamentali su ciò che REST è di circa.

L'URL utilizzato per accedere a una risorsa è davvero un dettaglio e in realtà non dovrebbe importare al cliente. URL di realtà dovrebbe essere "scoperto" dai clienti in ogni caso se seguono il HATEAOS Principe che è uno dei principi di riposo.

In sostanza hai ragione però: o URL potrebbe rappresentano la risorsa che si sta esponendo alla fine, ma come ho detto, questo è davvero un dettaglio e si tratta di preferenza in molti casi a quale URL si espone qualcosa. Il punto di hateoas è quello di permettere di cambiare l'URL che vengono utilizzati per accedere alle risorse a volontà senza influenzare i clienti che lavorano contro i tuoi servizi esistenti.

Il seguente URL può aiutare a capire alcune delle proprietà che rendono servizi veramente RESTful:

[disclaimer: solo perché HATEAOS è un principio di REST non lo rende facile da fare. Troverete la maggior parte dei servizi sul web non seguono questo principio rigorosamente a tutti, come dimostra la loro documentazione che è piena di modelli di URL; Non i servizi modo devono essere documentate nel mondo ideale. Mi sto lottando per trovare buoni esempi di servizi veramente riposante e clienti ...]

Altri suggerimenti

Dovrebbe essere possibile per gli agenti di ragionare sulla struttura delle risorse:

  • in base alla URL e
  • sulla base di link restituiti da richieste di risorse.

Il problema con la seconda rappresentazione è che può essere considerato come un set chiavi e valori non ordinati, senza alcuna vera e propria struttura / gerarchia.

Se si fa clic sul pulsante dal tag restful-url si ottiene un buon collegamento da questo sito che spiega la differenza tra questi due stili:

Come ottenere risorse REST con diversi "metodi" finder ?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top