📋
tecnologie5
  • Tecnologie
  • Le basi di HTTP - HyperText Transfer Protocol
  • HTTP Explained
  • HTTP/1 vs HTTP/2 vs HTTP/3
  • Xml e JSON - rappresentazione dei dati
  • Web services
    • SOAP - Simple Object Access Protocol
    • REST - Representation State Transfer
    • Letture su REST
    • Verifica su Web Services
    • .... su Web Services
    • REST Authentication & Authorization
      • Pit Stop
    • Intro to gRPC: The REST alternative
    • GraphQL e gRPC
  • Learn-js.org
  • TypeSpec
  • Corso Java
  • Intro to Hapi: The Node.js framework
  • Hapi Tutorial Series
  • CP: Concurrency: State Models and Design Patterns
Powered by GitBook
On this page
  • ESEMPIO REST
  • RICHIESTE TRAMITE Postman
  • Esempio servizio REST per Gestione Contenuti di un blog
  • Esempio servizio REST per la gestione clienti

Was this helpful?

  1. Web services

REST - Representation State Transfer

PreviousSOAP - Simple Object Access ProtocolNextLetture su REST

Last updated 4 months ago

Was this helpful?

In simplest words, in the REST architectural style, data and functionality are considered resources and are accessed using Uniform Resource Identifiers (URIs). The resources are acted upon by using a set of simple, well-defined operations. The clients and servers exchange representations of resources by using a standardized interface and protocol – typically HTTP.

Resources are decoupled from their representation so that their content can be accessed in a variety of formats, such as HTML, XML, plain text, PDF, JPEG, JSON, and others. Metadata about the resource is available and used, for example, to control caching, detect transmission errors, negotiate the appropriate representation format, and perform authentication or access control. And most importantly, every interaction with a resource is stateless.

All these principles help RESTful applications to be simple, lightweight, and fast.

ESEMPIO REST

Vediamo prima con un esempio cos'è REST, partendo da un servizio free che rispetta l'architettura di un servizio REST, cioè permette di interrogare, avere risposte dal server tramite semplici chiamate HTTP a delle url che identificano in modo univoco le risorse.

RICHIESTA ACCESS TOKEN

Per fare le richieste è necessario avere un access token, che vi viene dato dal servizio quando vi autenticate.

Cliccate sul pulsante Login in alto a destra

Selezionate il servizio si autenticazione (di terze parti):

Ora accedete il servizio vi ridirezione sulla pagina contenente l'Access Token che vi permette di sfruttare le API REST del servizio.

Le risorse dell'applicazione d'esempio che espone un API REST sono:

RICHIESTE TRAMITE Postman

Postman è un client per fare richieste a servizi REST, molto utilizzato per fare dei test a servizi che espongono API REST: richieste GET, POST, PUT e DELETE tramite una semplice interfaccia grafica.

Installate Postman scaricando il client o utilizzate la versione web del servizio.

Ora facciamo alcune richieste REST al servizio tramite Postman:

{
    "name": "Massimo Cappellano",
    "email": "massimo@iisponti.edu.it",
    "gender": "male",
    "status": "active"
}

nella response:

{
    "id": 6589,
    "name": "Massimo Cappellano",
    "email": "massimo@iisponti.edu.it",
    "gender": "male",
    "status": "active"
}

viene ritornato un id numerico che identifica in modo univoco l'utente creato. Lo status code della risposta è 201 Created. N.B. Ricordarsi di settare l'header Authorization con la propria chiave altrimenti il servizio risponde con messaggio d'errore ("Authorization failed");

N.B: Ricordarsi di aggiungere nella richiesta per l'autorizzazione header HTTPAuthorization con valore Bearer YOUR-ACCESS-TOKEN, con valore del proprio ACCESS TOKEN:

Esempio servizio REST per Gestione Contenuti di un blog

Esempio servizio REST per la gestione clienti

Task

Metodo

Body

Path

Creazione di un nuovo cliente

POST

JSON

/customers

Cancellazione di un cliente

DELETE

Niente

/customers/{id}

Ritorna un cliente specifico

GET

Niente

/customers/{id}

Ritorna tutti i clienti

GET

Niente

/customers

Modifica uno specifico cliente

PUT

JSON

/customers/{id}

REST è l'acronimo di REpresentation State Transfer. E' uno stile architetturale per i sistemi distribuiti e fu presentato da Roy Fielding nel 2000 in una sua famosa .

Tramite la Rest Console accedibile dal menù dei servizi è possibile eseguire le operazioni di creazione, update, cancellazione e listing delle risorse identificate dalle URI ().

per gestire gli utenti;

per gestire i post pubblicati;

per gestire i commenti pubblicati;

per gestire gli impegni;

Richiesta elenco degli user - GET

Creazione di un nuovo utente - POST passando nel body della request i dati dell'utente

3. Eseguiamo la ricerca dell'elemento - GET con ID dell'utente prima creato;

4. Eseguire la cancellazione - DELETE con ID dell'utente prima creato (notate che lo status code della risposta è: 204 No Content, invece se ripetiamo la richiesta o su una risorsa che non c'è, lo status code della risposta è: 404 Not Found );

5. Ripetere l'operazione GET dell'utente per verificare avvenuta cancellazione utente.

Da vedere ad esempio sotto esempi di chiamate Nested Routes:

Creazione di un'applicazione per gestire una ToDo list prendendo i todo da

dissertazione
Uniform Resource Identifier
https://gorest.co.in/public/v2/users
https://gorest.co.in/public/v2/posts
https://gorest.co.in/public/v2/comments
https://gorest.co.in/public/v2/todos
https://gorest.co.in/public/v2/users
https://gorest.co.in/public/v2/users
https://gorest.co.in/public/v2/users/
{idUser}
https://gorest.co.in/public/v2/users/
{idUser}
https://gorest.co.in/public/v2/users/{idUser}
Guide
https://jsonplaceholder.typicode.com/posts/1/comments
https://jsonplaceholder.typicode.com/albums/1/photos
https://jsonplaceholder.typicode.com/users/1/albums
https://jsonplaceholder.typicode.com/users/1/todos
https://jsonplaceholder.typicode.com/users/1/posts
https://jsonplaceholder.typicode.com/
LogoDesigning a REST APINerd For Tech
LogoOnline REST API for Testing and Prototyping | GO REST
LogoPostman Tutorial: How to Install and use Postman for API TestingGuru99
LogoJSONPlaceholder - Free Fake REST API
LogoGitHub - checksound/SimpleToDoListGitHub
Home servizio -clicco su Login
Selezione servizio di autenticazione
Pagina informazioni con Access Token
Setting Authorization HEADER