Servizi Web RESTful - Indirizzamento

L'indirizzamento si riferisce all'individuazione di una o più risorse che si trovano sul server. È analogo individuare un indirizzo postale di una persona.

Ogni risorsa nell'architettura REST è identificata dal suo URI (Uniform Resource Identifier). Un URI ha il seguente formato:

<protocol>://<service-name>/<ResourceType>/<ResourceID>

Lo scopo di un URI è individuare una o più risorse sul server che ospita il servizio web. Un altro attributo importante di una richiesta è VERBO che identifica l'operazione da eseguire sulla risorsa. Ad esempio, nel capitolo Servizi Web RESTful - Prima applicazione , l'URI èhttp://localhost:8080/UserManagement/rest/UserService/users e il VERBO è GET.

Costruire un URI standard

I seguenti sono punti importanti da considerare durante la progettazione di un URI:

  • Use Plural Noun- Usa un nome plurale per definire le risorse. Ad esempio, abbiamo utilizzato gli utenti per identificare gli utenti come una risorsa.

  • Avoid using spaces- Utilizzare il trattino basso (_) o il trattino (-) quando si utilizza un nome di risorsa lungo. Ad esempio, utilizza authorized_users invece di% 20users autorizzati.

  • Use lowercase letters - Sebbene l'URI non faccia distinzione tra maiuscole e minuscole, è una buona pratica mantenere l'URL solo in lettere minuscole.

  • Maintain Backward Compatibility- Poiché il servizio Web è un servizio pubblico, una volta reso pubblico dovrebbe essere sempre disponibile un URI. Nel caso in cui l'URI venga aggiornato, reindirizza l'URI precedente a un nuovo URI utilizzando il codice di stato HTTP, 300.

  • Use HTTP Verb- Usa sempre i verbi HTTP come GET, PUT e DELETE per eseguire le operazioni sulla risorsa. Non è consigliabile utilizzare il nome delle operazioni nell'URI.

Esempio

Di seguito è riportato un esempio di un URI scadente per recuperare un utente.

http://localhost:8080/UserManagement/rest/UserService/getUser/1

Di seguito è riportato un esempio di un buon URI per recuperare un utente.

http://localhost:8080/UserManagement/rest/UserService/users/1