En aquest tema, explorarem els conceptes de recursos i URIs (Uniform Resource Identifiers) en el context del disseny d'APIs RESTful. Els recursos són elements clau en les APIs RESTful, ja que representen les entitats amb les quals interactuen els clients. Les URIs són les adreces que identifiquen de manera única aquests recursos.
Què és un Recurs?
Un recurs és qualsevol informació que pot ser nomenada i representada en una API. Això pot incloure:
- Documents (per exemple, un document PDF)
- Imatges (per exemple, una foto de perfil)
- Serveis (per exemple, un servei de traducció)
- Col·leccions d'altres recursos (per exemple, una llista d'usuaris)
Exemples de Recursos
- Usuari: Representa un usuari en un sistema.
- Producte: Representa un producte en una botiga en línia.
- Comanda: Representa una comanda realitzada per un usuari.
Què és una URI?
Una URI (Uniform Resource Identifier) és una cadena de caràcters que identifica de manera única un recurs. En el context de les APIs RESTful, les URIs són utilitzades per accedir als recursos.
Estructura d'una URI
Una URI típica té l'estructura següent:
- http://: El protocol utilitzat.
- example.com: El domini del servidor.
- /resource: El camí que identifica el tipus de recurs.
- /{id}: Un identificador únic per al recurs específic.
Exemples de URIs
- http://api.example.com/users/123: URI per accedir a l'usuari amb ID 123.
- http://api.example.com/products/456: URI per accedir al producte amb ID 456.
- http://api.example.com/orders/789: URI per accedir a la comanda amb ID 789.
Disseny de URIs
El disseny de les URIs és crucial per a la usabilitat i la claredat de l'API. A continuació, es presenten alguns principis i bones pràctiques per dissenyar URIs efectives:
Principis de Disseny de URIs
-
Nomenclatura Consistent: Utilitza noms de recursos coherents i significatius.
- Correcte:
/users
,/products
- Incorrecte:
/u
,/prd
- Correcte:
-
Utilitza Plurals per a Col·leccions: Utilitza noms en plural per representar col·leccions de recursos.
- Correcte:
/users
,/products
- Incorrecte:
/user
,/product
- Correcte:
-
Evita Verbs en les URIs: Les URIs haurien de representar recursos, no accions.
- Correcte:
/users/123
- Incorrecte:
/getUser/123
- Correcte:
-
Utilitza Subrecursos per a Relacions Jeràrquiques: Representa relacions jeràrquiques utilitzant subrecursos.
- Correcte:
/users/123/orders
- Incorrecte:
/orders?userId=123
- Correcte:
Exemples de Disseny de URIs
- Obtenir tots els usuaris:
GET /users
- Obtenir un usuari específic:
GET /users/{id}
- Crear un nou usuari:
POST /users
- Actualitzar un usuari existent:
PUT /users/{id}
- Eliminar un usuari:
DELETE /users/{id}
Exercicis Pràctics
Exercici 1: Dissenyar URIs per una API de Biblioteca
Dissenya les URIs per a una API que gestiona una biblioteca amb llibres i autors.
- Obtenir tots els llibres.
- Obtenir un llibre específic.
- Crear un nou llibre.
- Actualitzar un llibre existent.
- Eliminar un llibre.
- Obtenir tots els autors.
- Obtenir un autor específic.
- Obtenir tots els llibres d'un autor específic.
Solucions
GET /books
GET /books/{id}
POST /books
PUT /books/{id}
DELETE /books/{id}
GET /authors
GET /authors/{id}
GET /authors/{id}/books
Exercici 2: Identificar Errors en URIs
Revisa les següents URIs i identifica els errors de disseny segons els principis esmentats:
/getAllUsers
/user/123
/authors/123/getBooks
/createBook
Solucions
- Error: Utilitza un verb (
getAllUsers
). Correcte:GET /users
- Error: Utilitza singular (
user
). Correcte:GET /users/123
- Error: Utilitza un verb (
getBooks
). Correcte:GET /authors/123/books
- Error: Utilitza un verb (
createBook
). Correcte:POST /books
Resum
En aquesta secció, hem après sobre els recursos i les URIs en el context de les APIs RESTful. Els recursos representen les entitats amb les quals interactuen els clients, i les URIs són les adreces que identifiquen de manera única aquests recursos. Hem revisat els principis de disseny de URIs i hem practicat amb exercicis per reforçar els conceptes apresos. En el següent tema, explorarem els mètodes HTTP i com s'utilitzen per interactuar amb els recursos.
Curs de REST API: Principis de Disseny i Desenvolupament d'APIs RESTful
Mòdul 1: Introducció a les APIs RESTful
Mòdul 2: Disseny d'APIs RESTful
- Principis de disseny d'APIs RESTful
- Recursos i URIs
- Mètodes HTTP
- Codis d'estat HTTP
- Versionat d'APIs
- Documentació d'APIs
Mòdul 3: Desenvolupament d'APIs RESTful
- Configuració de l'entorn de desenvolupament
- Creació d'un servidor bàsic
- Gestió de peticions i respostes
- Autenticació i autorització
- Gestió d'errors
- Proves i validació
Mòdul 4: Bones Pràctiques i Seguretat
- Bones pràctiques en el disseny d'APIs
- Seguretat en APIs RESTful
- Rate limiting i throttling
- CORS i polítiques de seguretat
Mòdul 5: Eines i Frameworks
- Postman per a proves d'APIs
- Swagger per a documentació
- Frameworks populars per a APIs RESTful
- Integració contínua i desplegament