次の方法で共有


CRUD (作成、読み取り、更新、削除)

IIS 管理 API は、システム上のリソースへの直接アクセスを提供します。 これらのリソースの多くは、作成、読み取り、更新、削除の操作を許可します。 REST API は、CRUD 操作を HTTP メソッドにマップします。 次の表では、どの HTTP メソッドがどの操作にマップするかを指定します。

CRUD 操作 HTTP メソッド
創造する 投稿
読む 取得
更新 PATCH/PUT
削除 削除

作成 (POST)

リソースは、API に HTTP POST 要求を送信することによって作成されます。 リソースの種類は、要求の URL によって決まります。 要求の本文には、作成するリソースを記述する JSON オブジェクトが含まれている必要があります。 要求本文のオブジェクトは、リソースの作成時の初期状態を決定します。 一部のリソースでは、作成時に特定のプロパティを指定する必要があり、他のリソースは空の JSON オブジェクトを使用して作成できます。

name プロパティの設定中にリソースを作成する。 POST を する

{
    "name": "Example Resource Name"
}

別のリソースに属するリソースの作成

別のリソースに属するリソースが作成される場合があります。 たとえば、アプリケーション が Web サイトに属している必要があり、他のユーザーが新しい アプリケーションを作成 場合は、アプリケーションの作成時にそのリレーションシップを次のように指定します。

Web サイト用のアプリケーションを作成する。 POST を する

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

読み取り (GET)

リソースは、HTTP GET 要求を実行することによって取得されます。 リソースを取得するには、主に 2 つの方法があります。 1 つ目のメソッドではリソースの一覧を要求します。2 つ目の方法は、1 つのリソースが要求されたときです。 1 つのリソースへの要求は、要求の URL に リソース ID が存在することによってマークされます。 場合によっては、URL 内のクエリ文字列のパラメーターを使用して単一のリソースを指定することもできます。 この動作は、個々の API エンドポイントによって異なります。

複数のリソースの取得

リソースのリストの読み取りは、個々のリソース IDを指定せずにリソース エンドポイントを要求することによって行われます。リソースでクエリ文字列パラメーターが必要な場合や、有効なリストを生成できない場合があります。 たとえば、IIS アプリケーションは /api/webserver/webapps エンドポイントに存在しますが、そのエンドポイントだけを要求しても情報は生成されません。 これは、表示するアプリケーションを API に指示するために Web サイトを指定する必要があるためです。 そのため、コンシューマーは /api/webserver/webapps?website.id={website_id} アプリケーションの一覧を表示するように要求します。

リソースの一覧の取得。 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}"
                }
            }
        }
    ]
}

個々のリソースの取得

リソースは、リソース エンドポイントの URL にリソースの ID を指定することで、個別に取得されます。 一部の API エンドポイントでは、クエリ文字列パラメーターを一意に識別することで、個々のリソースを指定することもできます。 たとえば、URL にファイルの ID を指定するか、ファイルの physical_path を指定することで、ファイルを取得できます。

ファイル リソースを使用すると、複数のメソッドで個々のファイルを取得できます。

  • /api/files/{id} を する
  • /api/files?physical_path={file} の物理パス

ファイル エンドポイントは、特定の物理パスに対して 1 つのファイルしか存在できないため、この動作を提供するため、クエリ文字列パラメーター 一意に識別

更新 (PATCH/PUT)

更新は、リソースが配置されている URL に HTTP PATCH 要求を発行することによって実行されます。 PATCH 要求が実行されると、要求本文のプロパティが読み取られ、リソースに同じ名前のプロパティがある場合は、リソースのプロパティが新しい値に設定されます。

PATCH の前のリソースの例

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

PATCH 要求の実行

リソースの名前を更新するためのパッチ要求。 PATCH/api/webserver/websites/12345

{
    "name": "My Site 2"
}

PATCH 後のリソース

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

削除 (DELETE)

リソースは、リソースが配置されている URL に HTTP DELETE 要求を送信することによって削除されます。 これは、リソースの ID を含む URL です。