Risposte:
La risorsa è un sottoinsieme RESTful di endpoint .
Un endpoint da solo è la posizione in cui è possibile accedere a un servizio:
https://www.google.com # Serves HTML
8.8.8.8 # Serves DNS
/services/service.asmx # Serves an ASP.NET Web Service
Una risorsa si riferisce a uno o più sostantivi serviti, rappresentati in modo spaziale, perché è facile per gli umani comprendere:
/api/users/johnny # Look up johnny from a users collection.
/v2/books/1234 # Get book with ID 1234 in API v2 schema.
Tutto quanto sopra potrebbe essere considerato un endpoint di servizio, ma solo il gruppo inferiore verrebbe considerato risorse, RESTENTAMENTE parlando. Il gruppo principale non è espressivo per quanto riguarda il contenuto che fornisce.
Una richiesta REST è come una frase composta da nomi (risorse) e verbi (metodi HTTP):
GET
(metodo) l'utente chiamato johnny
(risorsa).DELETE
(metodo) il libro con ID 1234
(risorsa).L'endpoint si riferisce in genere a un servizio, ma la risorsa potrebbe significare molte cose. Ecco alcuni esempi di risorse che dipendono dal contesto in cui sono utilizzate.
Qualcosa che può essere usato per aiutarti:
La biblioteca era una risorsa preziosa e la usava spesso.
Le risorse sono sostanze naturali come acqua e legno che sono preziose per sostenere la vita:
[pl] La terra ha risorse limitate e se non le ricicliamo le usiamo.
Le risorse sono anche cose di valore come denaro o beni che puoi usare quando ne hai bisogno:
[pl] Il governo non ha le risorse per assumere il numero di insegnanti necessari.
Il termine risorsa per definizione ha molte sfumature. Tutto dipende dal contesto in cui è utilizzato.
I termini risorsa ed endpoint sono spesso usati come sinonimi. Ma in realtà non significano la stessa cosa.
Il termine endpoint si concentra sull'URL utilizzato per effettuare una richiesta.
Il termine risorsa si concentra sul set di dati restituito da una richiesta.
Ora, è possibile accedere alla stessa risorsa da più endpoint diversi .
Inoltre, lo stesso endpoint può restituire risorse diverse , a seconda di una stringa di query.
Vediamo alcuni esempi:
Dai un'occhiata ai seguenti esempi di endpoint diversi :
/api/companies/5/employees/3
/api/v2/companies/5/employees/3
/api/employees/3
Ovviamente tutti potevano accedere alla stessa risorsa in una determinata API.
Anche un'API esistente potrebbe essere completamente modificata. Ciò potrebbe portare a nuovi endpoint che accederanno alle stesse vecchie risorse utilizzando URL totalmente nuovi e diversi:
/api/employees/3
/new_api/staff/3
Se l'endpoint restituisce una raccolta, è possibile implementare la ricerca / il filtro / l'ordinamento utilizzando le stringhe di query. Di conseguenza, i seguenti URL utilizzano tutti lo stesso endpoint ( /api/companies
), ma possono restituire risorse diverse (o raccolte di risorse , che per definizione sono risorse in sé):
/api/companies
/api/companies?sort=name_asc
/api/companies?location=germany
/api/companies?search=siemens
Forse la mia non è un'ottima risposta ma qui va.
Da quando ho lavorato di più con servizi Web veramente RESTful su HTTP, ho cercato di allontanare le persone dall'usare il termine endpoint poiché non ha una definizione chiara, e invece usare la lingua di REST che è risorse e posizioni delle risorse.
A mio avviso, endpoint è un termine TCP. È confuso con HTTP perché parte dell'URL identifica un server in ascolto.
Quindi la risorsa non è un termine più recente, non penso, penso che l'endpoint sia stato sempre appropriatamente sottratto e ce ne stiamo accorgendo mentre ci stiamo concentrando su REST come uno stile di API.
modificare
Ho blog su questo.
https://medium.com/@lukepuplett/stop-saying-endpoints-92c19e33e819
Secondo https://apiblueprint.org/documentation/examples/13-named-endpoints.html è una risorsa un luogo "generale" di archiviazione di una determinata entità - ad es. / Customers / 30654 / ordini, mentre un endpoint è l'azione concreta (Metodo HTTP) su una determinata risorsa. Quindi una risorsa può avere più endpoint.
Prendi in considerazione un server che contenga informazioni su utenti, missioni e relativi punti premio.
Fonte: endpoint API vs risorse
1. Descrizione della risorsa "Risorse" si riferisce alle informazioni restituite da un'API.
2. Endpoint e metodi Gli endpoint indicano come accedere alla risorsa, mentre il metodo indica le interazioni consentite (come GET, POST o DELETE) con la risorsa.
Informazioni addizionali: 3. Parametri I parametri sono opzioni che è possibile passare con l'endpoint (come specificare il formato di risposta o l'importo restituito) per influenzare la risposta.
4. Richiedi un esempio richiesta L' richiesta include una richiesta di esempio che utilizza l'endpoint, mostrando alcuni parametri configurati.
5. Esempio di risposta e schema L'esempio di risposta mostra una risposta di esempio dall'esempio di richiesta; lo schema di risposta definisce tutti i possibili elementi nella risposta.
Collegamento sorgente- riferimento