CRUD (Criar, Ler, Atualizar, Excluir)

A API de Administração do IIS fornece acesso direto aos recursos no sistema. Muitos desses recursos permitem criar, ler, atualizar e excluir operações. A API REST mapeia operações CRUD para métodos HTTP. A tabela a seguir especifica qual método HTTP mapeia para qual operação.

Operação CRUD Método HTTP
Criar POST
Ler GET
Atualizar PATCH/PUT
Excluir Delete (excluir)

Criar (POST)

Os recursos são criados enviando solicitações HTTP POST para a API. O tipo de recurso é determinado pela URL da solicitação. O corpo da solicitação deve conter um objeto JSON que descreve o recurso a ser criado. O objeto no corpo da solicitação determina que o estado inicial do recurso será quando ele for criado. Alguns recursos exigem que determinadas propriedades sejam fornecidas quando elas são criadas, outras podem ser criadas com um objeto JSON vazio.

Criando um recurso ao definir a propriedade de nome. POST

{
    "name": "Example Resource Name"
}

Criando um recurso que pertence a outro

Às vezes, são criados recursos destinados a pertencer a outro recurso. Por exemplo, se os aplicativos devem pertencer a um site da Web e alguém quisesse criar um novo aplicativo , eles especificariam essa relação durante a criação do aplicativo, conforme mostrado abaixo.

Criando um aplicativo para um site da Web. POST

{
    "path": "/MyApp",
    "physical_path": "c:/sites/mysite/myapp",
    "website": {
        "id": {website_id}
    }
}

Leitura (GET)

Os recursos são recuperados executando solicitações HTTP GET. Há dois métodos principais para recuperar recursos. O primeiro método envolve a solicitação de uma lista de recursos, o segundo método é quando um único recurso é solicitado. As solicitações para um único recurso são marcadas pela presença da ID do recurso na URL da solicitação. Às vezes, recursos singulares também podem ser especificados por meio de paremeters de cadeia de caracteres de consulta na URL. Esse comportamento depende do ponto de extremidade de API individual.

Recuperando vários recursos

A leitura de listas de recursos é feita solicitando um ponto de extremidade de recurso sem especificar uma ID de recursos individual. Às vezes, os recursos exigem parâmetros de cadeia de caracteres de consulta ou, caso contrário, não podem produzir listas válidas. Por exemplo, os aplicativos IIS vivem no ponto de extremidade /api/webserver/webapps , mas solicitar esse ponto de extremidade sozinho não produziria nenhuma informação. Isso ocorre porque um site da Web deve ser especificado para informar à API quais aplicativos devem ser mostrados. Portanto, os consumidores solicitariam /api/webserver/webapps?website.id={website_id} para ver uma lista de aplicativos.

Recuperando uma lista de recursos. 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}"
                }
            }
        }
    ]
}

Recuperando recursos individuais

Os recursos são recuperados individualmente fornecendo a ID do recurso na URL do ponto de extremidade do recurso. Alguns pontos de extremidade de API também permitem especificar recursos individuais fornecendo parâmetros de cadeia de caracteres de consulta de identificação exclusiva. Por exemplo, um arquivo pode ser recuperado fornecendo a ID do arquivo na URL ou fornecendo o physical_path do arquivo.

O recurso de arquivo permite que vários métodos recuperem arquivos individuais:

  • /api/files/{id}
  • /api/files?physical_path={caminho físico do arquivo}

O ponto de extremidade de arquivos fornece esse comportamento porque apenas um arquivo pode existir para qualquer caminho físico fornecido, portanto, é um parâmetro de cadeia de caracteres de consulta de identificação exclusiva .

Atualização (PATCH/PUT)

Atualizações são executadas emitindo solicitações DE PATCH HTTP para a URL na qual o recurso está localizado. Quando uma solicitação PATCH é executada, as propriedades do corpo da solicitação são lidas e, se o recurso tiver uma propriedade com o mesmo nome, a propriedade do recurso será definida como o novo valor.

Recurso de exemplo antes do PATCH

{
    "name": "My Site",
    "id": "12345",
    "physical_path": "c:\\sites\\mysite"
    "_links": {
        "self": {
            "href": "/api/webserver/websites/{12345}"
        }
    }
}

Executando a solicitação PATCH

Solicitação de patch para atualizar o nome do recurso. PATCH/api/webserver/websites/12345

{
    "name": "My Site 2"
}

Recurso após PATCH

{
    "name": "My Site 2",
    "id": "12345",
    "physical_path": "c:\\sites\\mysite"
    "_links": {
        "self": {
            "href": "/api/webserver/websites/{12345}"
        }
    }
}

Exclusão (DELETE)

Os recursos são excluídos enviando uma solicitação HTTP DELETE para a URL na qual o recurso está localizado. Essa é a URL que contém a ID do recurso.