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