CRUD (Créer, Lire, Mettre à jour, Supprimer)
L’API Administration IIS fournit un accès direct aux ressources sur le système. La plupart de ces ressources autorisent les opérations de création, de lecture, de mise à jour et de suppression. L’API REST mappe les opérations CRUD aux méthodes HTTP. Le tableau suivant spécifie la méthode HTTP mappée à l’opération.
Opération CRUD | Http, méthode |
---|---|
Créer | PUBLIER |
Lire | AVOIR |
Mettre à jour | PATCH / PUT |
Supprimer | SUPPRIMER |
Créer (POST)
Les ressources sont créées en envoyant des requêtes HTTP POST à l’API. Le type de ressource est déterminé par l’URL de la requête. Le corps de la requête doit contenir un objet JSON décrivant la ressource à créer. L’objet dans le corps de la requête détermine l’état initial de la ressource lors de sa création. Certaines ressources nécessitent que certaines propriétés soient fournies lors de leur création, d’autres peuvent être créées avec un objet JSON vide.
Création d’une ressource lors de la définition de la propriété name. POST
{
"name": "Example Resource Name"
}
Création d’une ressource qui appartient à une autre
Parfois, les ressources sont créées qui sont destinées à appartenir à une autre ressource. Par exemple, si applications doivent appartenir à un site web et qu’une personne souhaitait créer une application , elle spécifie cette relation lors de la création de l’application, comme indiqué ci-dessous.
Création d’une application pour un site web. POST
{
"path": "/MyApp",
"physical_path": "c:/sites/mysite/myapp",
"website": {
"id": {website_id}
}
}
Lecture (GET)
Les ressources sont récupérées en effectuant des requêtes HTTP GET. Il existe deux méthodes principales pour récupérer des ressources. La première méthode implique la demande d’une liste de ressources, la deuxième méthode consiste à demander une ressource unique. Les demandes adressées à une seule ressource sont marquées par la présence de la ressource ID dans l’URL de la requête. Parfois, les ressources singulières peuvent également être spécifiées via des analyseurs de chaîne de requête dans l’URL. Ce comportement dépend du point de terminaison d’API individuel.
Récupération de plusieurs ressources
La lecture des listes de ressources est effectuée en demandant un point de terminaison de ressource sans spécifier de ressources individuelles ID. Parfois, les ressources nécessitent des paramètres de chaîne de requête, sinon elles ne peuvent pas produire de listes valides. Par exemple, les applications IIS se produisent à l'/api/webserver/webapps point de terminaison, mais la demande de ce point de terminaison seul ne produirait aucune information. Cela est dû au fait qu’un site web doit être spécifié pour indiquer à l’API quelles applications doivent être affichées. Les consommateurs demandent donc /api/webserver/webapps ?website.id={website_id} pour afficher la liste des applications.
Récupération d’une liste de ressources. GET/api/websites
{
"websites": [
{
"name": "Default Web Site",
"id": "{id}",
"status": "started",
"_links": {
"self": {
"href": "/api/webserver/websites/{id}"
}
}
},
{
"name": "My Site",
"id": "{id_1}",
"status": "started",
"_links": {
"self": {
"href": "/api/webserver/websites/{id_1}"
}
}
}
{
"name": "docs",
"id": "{id_2}",
"status": "started",
"_links": {
"self": {
"href": "/api/webserver/websites/{id_2}"
}
}
}
]
}
Récupération de ressources individuelles
Les ressources sont récupérées individuellement en fournissant l’ID de la ressource dans l’URL du point de terminaison de ressource. Certains points de terminaison d’API permettent également de spécifier des ressources individuelles en fournissant une identification unique des paramètres de chaîne de requête. Par exemple, un fichier peut être récupéré en fournissant l’ID de du fichier dans l’URL ou en fournissant le physical_path du fichier.
La ressource de fichier permet à plusieurs méthodes de récupérer des fichiers individuels :
-
/api/files/{id} - /api/files ?physical_path={chemin physique du fichier}
Le point de terminaison de fichiers fournit ce comportement, car un seul fichier peut exister pour un chemin physique donné. Il s’agit donc d’un identifiant de manière unique paramètre de chaîne de requête.
Mise à jour (PATCH / PUT)
Les mises à jour sont effectuées en émettant des requêtes HTTP PATCH à l’URL à laquelle se trouve la ressource. Lorsqu’une requête PATCH est effectuée, les propriétés du corps de la requête sont lues et si la ressource a une propriété portant le même nom que la propriété de la ressource est définie sur la nouvelle valeur.
Exemple de ressource avant PATCH
{
"name": "My Site",
"id": "12345",
"physical_path": "c:\\sites\\mysite"
"_links": {
"self": {
"href": "/api/webserver/websites/{12345}"
}
}
}
Exécution de la requête PATCH
Demande de correctif pour mettre à jour le nom de la ressource. PATCH/api/webserver/websites/12345
{
"name": "My Site 2"
}
Ressource après PATCH
{
"name": "My Site 2",
"id": "12345",
"physical_path": "c:\\sites\\mysite"
"_links": {
"self": {
"href": "/api/webserver/websites/{12345}"
}
}
}
Supprimer (DELETE)
Les ressources sont supprimées en envoyant une requête HTTP DELETE à l’URL à laquelle se trouve la ressource. Il s’agit de l’URL qui contient l’ID de la ressource.