Partager via


Langage d’application hypertexte (HAL)

L’API Administration IIS inclut des données spéciales dans toutes ses ressources appelées Langage d’application hypertexte (HAL). HAL est un ensemble de conventions qui fournissent un moyen standardisé de lier des ressources. HAL est uniquement inclus dans les ressources lorsque le client inclut l’application/hal+json dans l’en-tête Accepter de leurs requêtes HTTP.

La propriété _links est la forme la plus répandue de HAL utilisée dans l’API. L’objet _links contient des membres indiquant comment récupérer des ressources associées.

Une ressource incluant _links, certains membres _links ont été exclus.

{
    "name": "Default Web Site",
    "id": "{id}",
    "physical_path": "%SystemDrive%\\inetpub\\wwwroot"
    .
    .
    .
    "application_pool": {
        "name": "DefaultAppPool",
        "id": "{app_pool_id}",
        "status": "started",
        "_links": {
            "self": {
                "href": "/api/webserver/application-pools/{app_pool_id}"
            }
        }
    },
    "_links": {
        "authentication": {
            "href": "/api/webserver/authentication/{authentication_id}"
        },
        "self": {
            "href": "/api/webserver/websites/{id}"
        },
        "webapps": {
            "href": "/api/webserver/webapps?website.id={id}"
        }
    }
}

Cet exemple de ressource est un site web dans IIS. La propriété _links indique au consommateur comment accéder aux paramètres d’authentification, comment afficher les applications du site web pour le site web, ainsi que l’URI de la ressource.

Self

Chaque ressource qui inclut _links a un lien automatique . Ce lien fournit l’URI auquel la ressource vit. Cet URI est le même que les requêtes PATCH et DELETE doivent être envoyées lors de la mise à jour ou de la suppression de la ressource.

Demande d’HAL

HAL est une augmentation du format de données JSON. Lorsqu’une ressource inclut HAL, elle a un type de contenu d’application/hal+json. Pour recevoir HAL à partir de l’API, les clients doivent spécifier l’application/hal+json dans l’en-tête Accept de leurs requêtes HTTP.