CRUD (作成、読み取り、更新、削除)
IIS 管理 API を使用すると、システム上のリソースに直接アクセスできます。 これらのリソースの多くは、作成、読み取り、更新、削除の操作を可能にします。 REST API は、CRUD 操作を HTTP メソッドにマップします。 次の表では、どの HTTP メソッドがどの操作にマップするかを指定します。
CRUD の操作 | HTTP メソッド |
---|---|
作成 | POST |
Read | GET |
更新 | PATCH/PUT |
削除 | DELETE |
作成 (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 つのリソースへの要求は、要求の 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={ファイルの物理パス}
ファイル エンドポイントは、特定の物理パスに対して 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 です。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示