Relazione tra API REST e database [duplicati]

0

Ultimamente ho studiato database e resto API e ho una domanda sulla relazione tra i due.

Immagina di avere un database con tre tabelle, STUDENTI, ISCRITTO e CLASSI.

STUDENTI e CLASSI indicano le entità studenti e classi, mentre la tabella ENROLLED indica la loro relazione.

Se dovessi mappare questo set di dati in un ambiente di riposo, avrei solo 3 percorsi CRUD diversi con le tre tabelle, ad es. ('/ studenti', '/ classi', '/ iscritti')?

E questa domanda vale per le API REST in generale - quando scrivi / crei un'API REST, stai solo costruendo una mappatura 1: 1 del tuo database?

Sto solo cercando di capire veramente la mia comprensione concettuale della relazione tra i due.

    
posta Jack Damon 08.02.2016 - 21:05
fonte

1 risposta

0

And that question goes for REST APIs in general -- when you write/make a REST API, are you just constructing a 1:1 mapping of your database?

No.

Il database è solo un dettaglio di implementazione.

Puoi scrivere un sacco di risorse che si associano direttamente ai tuoi oggetti di dominio, ma che non è particolarmente RESTful, di per sé.

REST non riguarda il dominio, tanto quanto lo stato dell'applicazione.

Se le risorse sono lo stato dell'applicazione - vale a dire, se sono analoghe alle pagine Web, con collegamenti e così via per definire per il cliente cosa può succedere dopo, è REST - ma lo stato dell'applicazione probabilmente non lo fa assomigliano troppo ai tuoi oggetti di dominio (anche se possono includere rappresentazioni di loro nell'ipermedia).

D'altra parte, se le risorse sono appena caricate dallo stato dell'applicazione - se sono analoghe alle immagini, dove il cliente impara quali immagini caricare leggendo l'ipermedia, allora quelle rotte probabilmente non sono REST. Di certo non hanno bisogno di essere; non stai dicendo ai clienti di utilizzare questi percorsi, stai dicendo loro di puntare il browser su una pagina web che utilizza tali percorsi.

Una volta ottenuta la rappresentazione dello stato dell'applicazione, a REST non interessa davvero come si scrive o si organizzano i percorsi, o altro. REST si preoccupa solo che vengano scoperti ispezionando l'ipermedia.

    
risposta data 09.02.2016 - 03:57
fonte

Leggi altre domande sui tag