Qu'est-ce que RESTful Web Service?
1. Web vs Web Service
Par exemple, lorsque vous entrez sur un certain site Web ABC pour voir les informations météorologiques et les informations sur les titres. Le site Web affichera l'information que vous voulez.
Afin d'obtenir les données météorologiques, l'application ABC doit obtenir les informations d'une certaine source. La source peut être un service Web qui fournit les données météorologiques à chaque région respectivement.
De même, afin d'obtenir les données sur les titres, l'application ABC doit contacter les services de fourniture des données. Les données seront traitées avant de vous retourner un site Web complet.
Les Services Web fournissent souvent les données brutes qui sont difficiles à comprendre pour la plupart des utilisateurs finaux courants et les Web Services sont souvent retournés en format XML ou JSON.
2. Qu'est - ce que RESTful Service ?
- Utiliser les méthodes HTTP explicitement.
- Être apatride.
- Exposer les URI de type structure de répertoires.
- Transférer XML, JavaScript Object Notation (JSON), ou les deux.
Dans le mot RESTful, ful est suffixe (suffix) en anglais, comme help signifie l'aide , helpful est très utile.
3. Utiliser la méthode HTTP explicitement
- Pour créer une ressource sur le serveur, vous devez utiliser la méthode POST.
- Pour accéder à une ressource, utilisez GET.
- Pour modifier l'état d'une ressource ou pour la mettre à jour, utilisez PUT.
- Pour annuler ou supprimer une ressource, utilisez DELETE.
L'exemple ci-dessous est la façon dont vous utilisez GET pour ajouter plus de données sur le serveur (notez que cela est contraire aux règles de REST).
GET /adduser?name=Robert HTTP/1.1
GET /updateuser?name=Robert&newname=Smith HTTP/1.1
POST /users/Robert HTTP/1.1
Host: myserver
Content-Type: application/xml
<?xml version="1.0"?>
<user>
<name>Robert</name>
</user>
GET /users/Robert HTTP/1.1
Host: myserver
Accept: application/xml
PUT /users/Robert HTTP/1.1
Host: myserver
Content-Type: application/xml
<?xml version="1.0"?>
<user>
<name>Smith</name>
</user>
DELETE /users/Robert HTTP/1.1
4. Être apatride (Stateless)
5. Exposer la structure de répertoire comme URI
http://myservice.com/weather/chicago/2016-09-27
http://myservice.com/weather/hanoi/2016-11-11
- Masquez les extensions de fichiers de la technologie de script côté serveur (.jsp,.php,.asp), s'il y en a, pour que vous puissiez porter sur autre chose sans modifier les URIs.
- Gardez tout en minuscule.
- Remplacez les espaces par des traits d'union ou des tirets de soulignement (l'un ou l'autre).
- Évitez autant que possible les chaînes de requête.
- Au lieu d'utiliser le code 404 Not Found si la requête URI est pour un chemin partiel, fournissez toujours une page ou une ressource par défaut comme réponse.
6. Transférer XML, JSON ou tous les deux
Voici les types communs de MINE utilisent normalement avec le REST service .
JSON | application/json |
XML | application/xml |
XHTML | application/xhtml+xml |
GET /weather/chicago/2016-08-27 HTTP/1.1
Host: myservice.com
Accept: application/xml;q=0.5
<weather>
<date>2016-08-27</date>
<location>Chicago</location>
<info>Hot</info>"//
</weather>
{
"date": "2016-08-27",
"location": "Chicago",
"info": "Hot"
}
Tutoriels Java Web Service
- Qu'est-ce que RESTful Web Service?
- Tutoriel Java RESTful Web Service pour débutant
- Exemple CRUD simple avec Java RESTful Web Service
- Créer Java RESTful Client avec Jersey Client
- RESTClient Un débogueur pour RESTful Web Service
- Exemple de CRUD simple avec Spring MVC RESTful Web Service
- Exemple CRUD Restful WebService avec Spring Boot
- Exemple Spring Boot Restful Client avec RestTemplate
- Sécurité Spring RESTful Service utilisant Basic Authentication