RESTクライアントの操作
REST APIはHTTPメソッドを使用してコンテンツを送受信するため、HTTPメッセージの送受信をサポートする任意のプログラミング言語またはツールを使用して、REST APIをテストできます。 まず、HTTPリクエストを作成するためのツールを選択します。
RESTクライアントの選択に関する考慮事項
REST APIと対話する多くのクライアントから、次のようなクライアントを選択できます:
- PostmanやAdvanced REST Clientなどのスタンドアロン・クライアント。
- 接続アプリケーションのクライアント。
- cURLコマンドライン・ユーティリティ。
クライアントを使用して、次のタスクを実行できます:
- REST APIアカウントのユーザー名、パスワードおよびリクエストURLをテストします。
- メタデータにアクセスして、RESTリソース、属性およびパラメータについてさらに学習します。
- 収集された情報を使用して、様々なタイプのHTTPリクエスト(レコードの作成、更新または削除など)を構成および送信します。
cURLを使用してHTTPリクエストを送信する方法
この例では、URL構文を使用してデータを転送する一般的なコマンドライン・ユーティリティであるcURLを使用して、RESTサービスにリクエストを送信します。ほとんどのUNIX、WindowsおよびMacintosh環境では、cURLを使用できます。 詳細は、「WindowsへのcURLコマンドライン・ツールのインストール」を参照してください。
次の表に、RESTサービスに使用できる、一般的に使用されるcURLオプションを示します。
オプション | 説明 |
---|---|
-userまたは-u | username:password サーバー認証のユーザー名とパスワードを指定します。 |
-d | 指定したデータ(JSONリクエスト本文)をサーバーに送信します。 データをアットマーク(@)で開始する場合は、データの読取り元のファイル名が後に続く必要があります。 例: -d@example_request_payload.json |
-H | リクエストに追加のHTTPヘッダーを指定します。 複数のヘッダーを指定するには、各ヘッダーの前に-H オプションを付けます。 次に例を示します。
|
-output | <file> 出力を標準出力ではなくファイルに書き込みます。 |
-X | HTTPサーバーとの通信時に使用するリクエスト・メソッドを指定します。 デフォルトのメソッドはGETです。 |
次の表に、cURLを使用したGET、POSTおよびPUT操作の例のB2B Service REST APIのナレッジを示します。
操作 | cURLコマンド |
---|---|
GETを使用してカテゴリのリストを取得 |
|
POSTを使用してコンテンツ・オブジェクトを評価 |
|
PUTを使用したコンテンツ・オブジェクトのインポート |
|
クライアントを使用したHTTPリクエストの送信方法
スタンドアロン・クライアント、サードパーティのブラウザ拡張機能、または拡張RESTクライアントなどのアドオンを使用して、HTTPリクエストを送信できます。
次に、クライアントを使用したGET、POSTおよびPATCH操作の例を示します。
- GET: カテゴリを取得します。
リクエストURL :
https://<IM_REST_API_HOST>/km/api/latest/categories/{id}
レスポンス本文:
{ "recordId": "01720CE1AE454C32BD4D496740AC66D0", "referenceKey": "FUSION_CATEGORY_300100089778735", "name": "Hierarchy test - Parent", "externalId": 300100089778735, "externalType": "CATEGORY", "links": [ { "rel": "children", "href": "https://<IM_REST_API_HOST>/km/api/latest/categories/01720CE1AE454C32BD4D496740AC66D0/children", "mediaType": "application/json, application/xml", "method": "GET" }, ... ], "dateAdded": "2016-09-16T13:13:00-0600", "dateModified": "2016-09-16T13:13:01-0600", "objectId": "002", "sortOrder": 1, "description": "PARENT0000001111111", "hasChildren": true }
- POST: ユーザー・キー値を作成します。
リクエストURL :
https://<IM_REST_API_HOST>/km/api/latest/users/{userId}/userKeyValues
リクエスト本文:{ "userInformation" : { "recordId" : "62AE91CBB23A49668BC7B9A220B696C7", "name" : "User_Name", "externalId" : 12345, "externalType" : "CONTACT", "links" : [ { "rel" : "canonical", "href" : "https://<IM_REST_API_HOST>/km/api/{version}/{resourceURI}", "mediaType" : "application/json, application/xml", "templated" : true, "method" : "GET", "profile" : "https://<IM_REST_API_HOST>/km/api/{version}/metadata-catalog/{resourceName}" } ] }, ..., "dateAdded" : "2013-04-23T20:06:43-0500", "dateModified" : "2013-04-23T20:06:43-0500", "key" : "FAVORITES2", "value" : "FAQ1,FAQ23,FAQ44" }
レスポンス本文:{ "userInformation": { "recordId": "62AE91CBB23A49668BC7B9A220B696C7", "name": "User Name Value", "externalType": "ACCOUNT", "links": [ { "rel": "canonical", "href": "https://<IM_REST_API_HOST>/km/api/latest/users/62AE91CBB23A49668BC7B9A220B696C7", "mediaType": "application/json, application/xml", "method": "GET" } ] }, "recordId": "75F56044C4D94DC181CDA898D0F0B3E2", "links": [ { "rel": "canonical", "href": "https://<IM_REST_API_HOST>/km/api/latest/users/62AE91CBB23A49668BC7B9A220B696C7/userKeyValues/75F56044C4D94DC181CDA898D0F0B3E2", "mediaType": "application/json, application/xml", "method": "GET" }, ... ], "dateAdded": "2017-03-28T14:48:21-0500", "dateModified": "2017-03-28T14:48:21-0500", "key": "FAVORITES2", "value": "FAQ1,FAQ23,FAQ44" }
- PATCH: ユーザー・オブジェクトのすべてのカスタム・キー値を置換します。
リクエストURL :
https://<IM_REST_API_HOST>/km/api/latest/users/{id}/customKeyValues
リクエスト本文:{ "items" : [ { "links" : [ { "rel" : "canonical", "href" : "https://<IM_REST_API_HOST>/km/api/{version}/{resourceURI}", "mediaType" : "application/json, application/xml", "templated" : true, "method" : "GET", "profile" : "https://<IM_REST_API_HOST>/km/api/{version}/metadata-catalog/{resourceName}" } ] }, . . . } ] }
レスポンス本文:This request does not return any response body.