Servizi Web RESTful - Apolidia

Secondo l'architettura REST, un servizio Web RESTful non dovrebbe mantenere uno stato client sul server. Questa restrizione è chiamata apolidia. È responsabilità del client passare il proprio contesto al server e quindi il server può memorizzare questo contesto per elaborare l'ulteriore richiesta del client. Ad esempio, la sessione gestita dal server viene identificata dall'identificatore di sessione passato dal client.

I servizi Web RESTful dovrebbero aderire a questa restrizione. Lo abbiamo visto nel capitolo Servizi Web RESTful - Metodi , che i metodi del servizio Web non memorizzano alcuna informazione dal client da cui vengono richiamati.

Consider the following URL −

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

Se si preme l'URL sopra utilizzando il browser o un client basato su Java o utilizzando Postman, il risultato sarà sempre l'XML utente il cui ID è 1 perché il server non memorizza alcuna informazione sul client.

<user> 
   <id>1</id> 
   <name>mahesh</name> 
   <profession>1</profession> 
</user>

Vantaggi dell'apolidia

Di seguito sono riportati i vantaggi dell'apolidia nei servizi Web RESTful:

  • I servizi Web possono trattare ogni richiesta di metodo in modo indipendente.

  • I servizi Web non devono mantenere le precedenti interazioni del cliente. Semplifica la progettazione dell'applicazione.

  • Poiché HTTP è esso stesso un protocollo di apolidia, i servizi Web RESTful funzionano perfettamente con i protocolli HTTP.

Svantaggi dell'apolidia

Di seguito sono riportati gli svantaggi dell'apolidia nei servizi Web RESTful:

  • I servizi Web devono ottenere informazioni aggiuntive in ogni richiesta e quindi interpretare per ottenere lo stato del client nel caso in cui le interazioni del client debbano essere prese in considerazione.