記事 (1/28)
記事 (2/28)
重要:この学習モジュールの内容は、Quebec ServiceNow リリース用に最後に更新されたもので、Rome リリースでは更新されていません。Rome リリースとこの学習モジュールのコンテンツとの間に違いが見られる場合があります。
Global アプリケーションは、Scripted REST API と Scripted REST API リソース作成の基になる概念とプロセスを紹介し、デモンストレーションするために、この学習モジュール全体で使用されます。受講者は Global アプリケーションを構築しません。
演習では、NeedIt アプリケーションを開発します。
演習は、次の 3 つの方法で示されます。
NeedIt アプリケーションを使用すると、ユーザーは複数の部門からのサービスを要求できます。ソースコントロールを使用して、この学習モジュールに必要なすべての NeedIt アプリケーションファイルから始めます。
演習 (3/28)
ServiceNow は GitHub を使用して、開発者サイトの学習コンテンツをコピーして使用するアプリケーションリポジトリを提供します。リポジトリには、アプリケーションファイルの固定セットであるタグが含まれているため、部分的に構築されたアプリケーションを使用して作業を開始できます。ServiceNow が提供するリポジトリを個人開発者インスタンス (PDI) にコピーしてインポートすることで、モジュール内の実践的な演習に必要なすべてのファイルを取得できます。
注意:ServiceNow が開発者プログラムの学習コンテンツで GitHub を使用する方法の詳細と、リポジトリをフォークしてアプリケーションをインポートする方法に関するビデオを見るには、『GitHub ガイド』を参照してください。
この演習では、次のことを行います。
重要:リポジトリを既にフォークしてインポートしている場合は、次の演習に進み、タグから分岐を作成して、アプリケーションファイルを PDI にロードできます。モジュールを完了するには、NeedIt アプリケーションファイルが必要です。
演習のこのセクションでは、開発者サイトの学習コンテンツで使用するアプリケーションリポジトリのパーソナルフォークを作成します。
演習のこのセクションでは、アプリケーションリポジトリを ServiceNow にインポートします。プロセスの一環として、まず GitHub アカウントの資格情報レコードを作成してから、Studio を使用してアプリケーションリポジトリを PDI にインポートします。
演習 (4/28)
この演習では、「Scripted REST APIs」モジュール (モジュールで使用するアプリケーションファイルを含む) 用に NeedIt アプリケーションの分岐を作成します。
注意:この演習を開始する前に、「 演習:「Scripted REST APIs」モジュールのためにリポジトリをフォークしてアプリケーションをインポートする」で説明したように、NeedIt リポジトリをフォークしてインポートしておく必要があります。
記事 (5/28)
Web サービスにより、アプリケーションはネットワーク経由で他のソフトウェアアプリケーションに接続し、プロバイダー (サーバー) とクライアント (コンシューマー) の間で情報を交換することができます。
Web サービスコンシューマー (クライアント) が Web サービスプロバイダー (サーバー) に情報を要求します。Web サービスプロバイダーが要求を処理し、ステータスコードと応答本文を返します。応答本文が返されると、Web サービスコンシューマーは応答本文から情報を抽出し、抽出されたデータに対してアクションを実行します。
ServiceNow は API を提供します。これにより、開発者がサードパーティアプリケーションの ServiceNow や他の ServiceNow インスタンスから情報を簡単に要求できるようになります。多くの場合、ServiceNow API は、開発者がデータ連携のために必要とするメソッドを提供します。その他の場合は、カスタム API が必要です。スクリプト化された REST サービスを使用すると、開発者は Now Platform で独自の API を作成できます。
記事 (6/28)
Studio でアプリケーションにファイルを追加する手順は、ファイルタイプに関係なく同じです。
ServiceNow ブラウザーのメインウィンドウを使用して Scripted REST API を作成するには、Application Navigator を使用して [システム Web サービス] > [スクリプト化された Web サービス] > [Scripted REST APIs] を開きます。[新規] ボタンをクリックします。
スクリプト化された REST サービスレコードを構成します。
スクリプト化された REST サービスの構成を続行するには、[送信] ボタンをクリックします。
Scripted REST APIs はアクションを実行しません。これらは、リソースを含むコンテナーです。リソースは、サードパーティアプリケーションが呼び出すアクションです。
記事 (7/28)
[セキュリティ]、[コンテンツネゴシエーション]、[ドキュメント] の各セクションは、Scripted REST API を初めて保存した後に使用可能になります。
Scripted REST API は、ユーザーがアクセス制御チェックに合格することを要求する場合があります。要求を行うユーザーは、少なくとも 1 つのアクセス制御を満たしている必要があります。選択したすべてのアクセス制御を満たす必要はありません。デフォルトのアクセス制御である [スクリプト化された REST の外部デフォルト (Scripted REST External Default)] は、すべての新しい Scripted REST APIs に適用されます。開発者は、デフォルトを削除したり、任意のアクセス制御を追加したりすることができます。[ロック解除] ボタンをクリックして、[デフォルト ACL] フィールドの値を変更します。
Scripted REST APIs のアクセス制御のアクセス制御タイプは REST_Endpoint です。
デフォルトのアクセス制御は、snc_external ロールを持つすべてのユーザーに対して Scripted REST API へのアクセスを拒否します。
[コンテンツネゴシエーション] セクションでは、サポートされている要求と応答の形式を定義します。要求と応答のデフォルトでは、次のものが許可されます。
サポートされている形式のリストを変更するには、[デフォルトでサポートされる要求フォーマットを上書き] オプションまたは [デフォルトでサポートされる応答フォーマットを上書き] オプションをクリックします。
[ドキュメント] セクションを使用して、Scripted REST API ドキュメントにユーザーを誘導します。REST API Explorer で API を選択すると、[簡単な説明] フィールドの値がフォームの上部に表示されます。ユーザーは、REST API Explorer のメニューからドキュメントリンクにアクセスします。
開発者向けのヒント:他の開発者が API の目的を理解できるように、API の機能についてわかりやすい説明を [簡単な説明] フィールドに入力します。
記事 (8/28)
REST 要求ヘッダーには、HTTP(S) インタラクションを定義するパラメーター (メタデータ) が含まれています。一般的に使用される REST ヘッダーは次のとおりです。
HTTP ヘッダーフィールドのリストを参照してください。
[要求ヘッダー] 関連リストで、[新規] ボタンをクリックし、 API に要求ヘッダーを追加します。
要求ヘッダーは、リソースで定義することもできます。
クエリパラメーターは、API を使用する開発者が API 要求 URL で渡すことができる情報を制御します。[クエリパラメーター] 関連リストで、[新規] ボタンをクリックして、パラメーターを作成します。
クエリパラメーターを構成した後、[クエリパラメーター] 関連リストで [必須] の値を設定します。デフォルト値は false です。クエリパラメーターが必須の場合は、この値を true に設定します。
クエリパラメーターは、リソースで定義することもできます。
演習 (9/28)
この演習では、サードパーティアプリケーションが NeedIt アプリケーションのデータとやり取りできるように、スクリプト化された Web サービスを作成します。
記事 (10/28)
REST API は REST リソースの集合です。REST リソースは、少なくとも 1 つの URI を持つ一意のデータ表現です。リソースは通常、レコード、レコードへの変更、レコードに基づく計算などの関連情報のセットです。HTTP メソッドは、各リソースを定義します。
Scripted REST API レコードで、 [リソース] 関連リストを開きます。[新規] ボタンをクリックして、リソースを構成します。
[リソースパス] フィールドは、新しいレコードが初めて保存された後に表示されます。リソースパスは、相対パスにリンクされたベース API パスです。
記事 (11/28)
リソースは、Scripted REST API から継承された設定をオーバーライドできます。
デフォルトでは、リソースには認証が必要です。認証を無効にするには、[認証が必要] オプションの選択を解除 (オフ) します。アクセス制御チェックを無効にするには、[ACL 承認が必要] オプションの選択を解除 (オフ) します。
開発者向けのヒント:複数のアクセス制御がリストされている場合、要求するユーザーは少なくとも 1 つのアクセス制御を満たす必要があります。すべてを満たす必要はありません。
リソース要求形式は Scripted REST API から継承され、上書きすることはできません。許可される応答形式を変更するには、[サポートされる応答形式を上書き] オプションを選択し、[サポートされる応答形式] フィールドに形式をリストします。
[簡単な説明] フィールドの値は、リソースを選択すると REST API Explorer に表示されます。このフィールドを使用して、リソースを使用する開発者に役立つ情報を提供します。
記事 (12/28)
要求ヘッダーとクエリパラメーターは、Scripted REST API で定義され、リソース定義内のリソースに関連付けられます。
要求ヘッダーを関連付けるには、[要求ヘッダーの関連性] 関連リストまでスクロールします。[新規] ボタンをクリックします。[API 要求ヘッダー] フィールドの [検索] ボタンを使用して、リソースに関連付ける要求ヘッダーを選択します。
[スクリプト化された REST ヘッダー] ウィンドウで [新規] ボタンをクリックし、新しい要求ヘッダーを作成します。
クエリパラメーターを関連付けるには、[クエリパラメーターの関連性] 関連リストまでスクロールします。[新規] ボタンをクリックします。[API クエリパラメーター] フィールドの [検索] ボタンを使用して、リソースに関連付けるクエリパラメーターを選択します。
[スクリプト化された REST クエリパラメーター] ウィンドウで [新規] ボタンをクリックし、新しいクエリパラメーターを作成します。
演習 (13/28)
この演習では、NeedIt API のスクリプト化された Web サービスで GET リソースを作成します。このリソースはユーザーとエンコードクエリに渡されます。
記事 (14/28)
リソーススクリプトは、応答オブジェクトのプロパティを作成して設定するサーバーサイド JavaScript です。応答オブジェクトは、リソースを呼び出したアプリケーションに返されます。
リソースの [スクリプト] フィールドには、スクリプトテンプレートが含まれています。自己呼び出し型関数式または即時呼び出し型関数式と呼ばれるテンプレートの process 関数は、リソースにアクセスすると自動的に呼び出されます。process 関数に渡される要求および応答オブジェクトは、自動的に作成されます。
開発者は、テンプレートのコメントの後にサーバーサイド JavaScript を追加します。
記事 (15/28)
RESTAPIRequest API を使用すると、開発者は要求からデータにアクセスできます。request オブジェクトは RESTAPIRequest クラスから自動的にインスタンス化され、Scripted REST API スクリプトの process 関数に渡されます。
要求オブジェクトのプロパティは次のとおりです。
body オブジェクトは、要求本文へのアクセスを提供します。
//get instance of RESTAPIRequestBody var requestBody = request.body;
pathParams オブジェクトを使用すると、要求 URL で渡されたパスパラメーターにスクリプトでアクセスできます。使用可能なパスパラメーターは、スクリプト化された REST サービスのリソースによって決まります。デモサービスからの userinfo リソースの URL は次のとおりです。
https://<instance>/api/<namespace>/demo_service/userinfo/{user_id}
パスパラメーターは、サービスが呼び出されたときに渡されます。
//get pathParams object var pathparams = request.pathParams; //get user_id property value from pathparams object var userID = pathparams.user_id;
サンプルスクリプトが実行された後の pathparams.user_id プロパティの値は、URL で渡された値と同じです。
queryParams オブジェクトを使用すると、Web サービス要求からクエリパラメーターにスクリプトでアクセスできます。デモサービスのクエリパラメーターは demo_query です。デモサービスの URL は次のとおりです。
https://<instance_rest_endpoint>/?demo_query=active%3Dtrue
demo_query パラメーター値は、サービスが呼び出されたときに渡されます。
//get queryParams object var queryparams = request.queryParams; //value of myQueryParam is active=true var myQueryParam = queryparams.demo_query;
サンプルスクリプトが実行された後の myQueryParam 変数の値は active=true です。
queryString 文字列は、エンドポイント URI に追加されるクエリ全体を含みます。デモサービスの URL は次のとおりです。
https://<instance>/api/<namespace>/demo_service/userinfo/5137153cc611227c000bbd1bd8cd2005d?demo_query=active%3Dtrue
クエリ文字列は URL の一部です。
//get the query string //value of query is demo_query=active%3Dtrue var query = request.queryString;
サンプルスクリプトが実行された後の query 変数の値は demo_query=active%3Dtrue です。
uri 文字列は、ドメイン情報を除いた要求 URI を含みます。デモサービスからの userinfo リソースの URL は次のとおりです。
https://<instance>/api/<namespace>/demo_service/userinfo/{user_id}
URI にはクエリパラメーターが含まれていません。
//get the uri string //value of query is /api/<namespace>/demo_service/userinfo/5137153cc611227c000bbd1bd8cd2005d var query = request.uri;
サンプルスクリプトが実行された後の query 変数の値は /api/187049/demo_service/userinfo/5137153cc611227c000bbd1bd8cd2005d です。
url 文字列には要求 URL 全体が含まれています。
//get the url string //returns https://instance/api/<namespace>/demo_service/userinfo/5137153cc611227c000bbd1bd8cd2005d var query = request.url;
スクリプトの実行後の query 変数の値は URL 全体です。
headers オブジェクトには、要求のすべての headers プロパティ値のペアが含まれています。
//get the headers from the request var headers = request.headers; //get the value of the Accept property var acceptHeader = headers.accept;
request.headers オブジェクトのプロパティは、API ごとに異なる場合があります。デモサービス API の request.headers プロパティには、accept、from、content-type が含まれます。API で大文字を使用して定義されている場合でも、すべての request.headers プロパティ名は小文字であることに注意してください。request.headers プロパティをログに記録するために使用されるスクリプトは、データタイプもログに記録しました。すべてのプロパティが文字列であることに注意してください。
getHeader メソッドは、Web サービス要求から特定のヘッダーの値を含む文字列を返します。
//get the headers from the request var headers = request.headers; //get the value of the from header var fromHeader = headers.getHeader('from');
スクリプトの実行後、変数 fromHeader の値は Abel Tuter になります。
開発者向けのヒント:API で大文字を使用して定義されている場合でも、ヘッダープロパティの名前は小文字になります。
getSupportedResponseContentTypes() メソッドは、各文字列が application/json などのコンテンツタイプである文字列値のアレイを返します。
var contentTypes = []; contentTypes = request.getSupportedResponseContentTypes(); for(i=0;i<contentTypes.length;i++){ gs.info("content type [" + i + "] = " + contentTypes[i]); }
contentTypes アレイには、デモサービス用の要素が 1 つあります。
記事 (16/28)
RESTAPIRequestBody API を使用すると、開発者は Scripted REST API 要求の本文コンテンツにアクセスできます。request.body オブジェクトは自動的にインスタンス化されます。
request.body オブジェクトのプロパティを確認するには、リソースの [スクリプト] フィールドに「request.body」と入力します。
プロパティが自動的に表示されます。キーボードの上下矢印キーを使用して、強調表示されたプロパティの説明を確認します。
プロパティリストのアイコンは、プロパティのデータタイプを示します。
RESTAPIRequestBody API には次のものが含まれます。
記事 (17/28)
RESTAPIResponse API を使用すると、開発者は Scripted REST API 要求に対する応答を作成できます。response オブジェクトは自動的にインスタンス化されます。
RESTAPIResponse API には次のものが含まれます。
RESTAPIResponse API ドキュメントには API のメソッドのサンプルスクリプトが含まれています。
開発者向けのヒント:RESTAPIResponse API を使用せずに、Scripted REST API 応答ストリームに直接書き込むには、RESTAPIResponseStream API を使用します。
記事 (18/28)
ServiceNow は、既存のテーブルと列のデータに関する集計統計を計算するために使用する集計 API を提供しています。このモジュールで示すユースケースでは、次の 3 つの集計が必要です。
Scripted REST API は、集計 API を 3 回呼び出す代わりに、集計を実行して、単一の response オブジェクトに集計を返します。
(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) { // implement resource here // Get value from the user_id path parameter passed in the URL var requestUser = request.pathParams.user_id; // Get value of the demo_query query parameter passed in the URL var requestDemoQuery = request.queryParams.demo_query; // Query the sys_user table to get the user record for the user passed in // the user_id path parameter var requestUserName = new GlideRecord('sys_user'); requestUserName.get(requestUser); // Aggregation 1: Incident table // Get the count of Incident table records where the user from the user_id path // parameter is the Caller. var userIncidentCount = new GlideAggregate('incident'); userIncidentCount.addAggregate('COUNT'); userIncidentCount.addQuery('caller_id',requestUser); userIncidentCount.addEncodedQuery(requestDemoQuery); userIncidentCount.query(); var incidents = 0; if (userIncidentCount.next()) { incidents = userIncidentCount.getAggregate('COUNT'); } // Aggregation 2: Change request table // Get the count of Change request table records where the user from the user_id path // parameter is the Requested by. var userChangeCount = new GlideAggregate('change_request'); userChangeCount.addAggregate('COUNT'); userChangeCount.addQuery('requested_by',requestUser); userChangeCount.addEncodedQuery(requestDemoQuery); userChangeCount.query(); var changes = 0; if (userChangeCount.next()) { changes = userChangeCount.getAggregate('COUNT'); } // Aggregation 3: Problem table // Get the count of Problem table records where the user from the user_id path // parameter is the Opened by. var userProblemCount = new GlideAggregate('problem'); userProblemCount.addAggregate('COUNT'); userProblemCount.addQuery('opened_by',requestUser); userProblemCount.addEncodedQuery(requestDemoQuery); userProblemCount.query(); var problems = 0; if (userProblemCount.next()) { problems = userProblemCount.getAggregate('COUNT'); } //Create a body object. Add property value pairs to the body. var body = {}; body.numInc = incidents; body.numChg = changes; body.numPrb = problems; body.user = {"User name": requestUserName.user_name, "User ID": requestUser}; // Send the response object, which is returned to the requestor, to the body object. response.setBody(body); })(request, response);
応答本文には、インシデント、変更、問題の数に加えて、ユーザー名とユーザー ID が含まれています。
演習 (19/28)
この演習では、ni_getinfo リソースにスクリプトを追加します。このスクリプトは、パスパラメーターで渡されたユーザーのアクティブな NeedIt 要求の数を検出します。response オブジェクトは次の要素で構成されます。
REST API Explorer を使用して ni_getinfo リソースをテストします。
{ "result": { "totalUserNIRecs": 6, "catCounts": [ { "requestType": "Facilities", "count": "1" }, { "requestType": "Human Resources", "count": "2" }, { "requestType": "Legal", "count": "3" } ], "user": { "User name": "fred.luddy", "User ID": "5137153cc611227c000bbd1bd8cd2005" } } }
記事 (20/28)
API ユーザーが問題をデバッグできるようにするには、error オブジェクトを使用して、エラーに関する情報を API のコンシューマーに報告します。ServiceNow には、エラーに対する 2 つの戦略があります。
どちらの場合も、error オブジェクトは sn_ws_err 名前空間からインスタンス化する必要があります。
事前定義された error オブジェクトは、標準の HTTP ステータスコードを使用してコンシューマーに情報を送信します。エラーメッセージを渡して、カスタムメッセージを送信します。
ステータスコード | エラーオブジェクト | 説明 |
---|---|---|
400 | BadRequestError | 構文の誤りなど、要求のエラー |
404 | NotFoundError | 要求されたリソースを利用できない |
406 | NotAcceptableError | Accept ヘッダー値が許可されていない |
409 | ConflictError | 要求に競合がある |
415 | UnsupportedMediaTypeError | 要求されたメディアタイプがサポートされていない |
たとえば、NotFoundError オブジェクトをコンシューマーに送信します。
(function run(request, response) { // resource is not available return new sn_ws_err.NotFoundError('The resource you requested is not part of the API.'); })(request,response);
開発者向けのヒント:error オブジェクトを含むメッセージの送信は必須ではありませんが、送信した方が API のユーザーにとっては便利です。
事前定義されたエラーは応答本文に返されます。
ServiceError オブジェクトを使用して、カスタムエラーを定義します。ServiceError メソッドは次のとおりです。
メソッド | 説明 | デフォルト値 |
---|---|---|
setStatus(number) | エラーの HTTP ステータスコード | 500 |
setMessage(string) | 送信する短いエラーメッセージ | 空白文字列 |
setDetail(string) | 詳細なエラーメッセージ | 空白文字列 |
(function run(request, response) { var myError = new sn_ws_err.ServiceError(); myError.setStatus(442); myError.setMessage('Invalid value in path parameter'); myError.setDetail('We recognized the path parameter you sent, but the value you requested does not exist in the database.'); return myError; })(request,response);
カスタムエラーは応答本文に返されます。
記事 (21/28)
デフォルトでは、API バージョニングは無効になっています。バージョニングを有効にすると、開発者は Web サービスコンシューマーからの既存の統合に影響を与えることなく変更をテストして展開できます。
バージョニングは API レベルで有効になっており、すべての API リソースに適用されます。バージョニングを有効にするには、Scripted REST API で [バージョニングの有効化] 関連リンクをクリックします。
バージョニングが有効になっている場合、リソース URL にはバージョン番号が含まれます。バージョニングを有効にするときに既存のデータ連携の遮断を防ぐには、バージョン v1 をデフォルトにします。
[リソース] リストには [API バージョン] 列が含まれ、バージョン番号がリソースパスに追加されます。
注意:バージョニングを有効にすると、無効にすることはできません。
API に新しいバージョンを追加するには、[新規バージョンを追加] 関連リンクをクリックします。
[新規バージョンを追加] ダイアログが開きます。
新しいバージョンをデフォルトにするには、[このバージョンをデフォルトにする] チェックボックスをオンにします。ほとんどの場合、開発が完了して新しいバージョンが完全にテストされるまで、新しいバージョンをデフォルトにすべきではありません。
既存のバージョンからリソースをコピーするには、[次のバージョンから既存のリソースをコピー] 選択リストで該当するバージョンを選択します。
リソースを編集するときは、編集するバージョンを選択します。
REST API Explorer でテストする場合は、API バージョンをテストするバージョンに設定します。
開発者向けのヒント:カスタムの Scripted REST APIs のバージョン間の変更を文書化します。REST API Explorer のメニューからメソッド定義と完全なドキュメントアクセスを更新します。
演習 (22/28)
この演習では、NeedIt API のバージョニングを有効にします。ユーザーから渡された user_name パスパラメーターが sys_user テーブルに見つからない場合に error オブジェクトを返す、新しいバージョンの ni_getinfo リソースを作成します。
{ "error": { "detail": "No user record found for the user_name passed into the ni_info web service resource using the user_name path parameter.", "message": "User not found" }, "status": "failure" }
記事 (23/28)
[Web API の使用率] ダッシュボードには、API ごとに分析データが表示されます。開発者は以下を確認できます。
API のダッシュボードを表示するには、Application Navigator を使用して [Performance Analytics] > [ダッシュボード] を開きます。[すべて] を選択し、検索フィールドを使用して「Web API の使用率」を検索します。ダッシュボードを開き、選択リストから目的の API を選択します。
または、API レコードの [API Analytics] 関連リンクをクリックします。
ダッシュボードを使用して API への要求を監視します。
演習 (24/28)
この演習では、NeedIt API のダッシュボードを開いて確認します。
NeedIt API とそのリソースには多くのトラフィックがないため、ダッシュボードには多くのデータがありません。
次の点を判断できるかどうか確認してください。
演習 (25/28)
開発者は、GitHub のようなソースコントロールアプリケーションを使用して、個人開発者インスタンス (PDI) の外部で変更をコミット (完了した作業を保存) できます。アプリケーションに対する変更内容をコミットして、作業をソースコントロールに保存します。
この演習では、このモジュールで完了した作業を GitHub リポジトリに保存します。
注意:ServiceNow が開発者プログラムの学習コンテンツで GitHub を使用する方法の詳細と、作業を保存する方法に関するビデオを見るには、『GitHub ガイド』を参照してください。
記事 (26/28)
ここでは、Scripted REST APIs についての理解度を確認できます。自分の進行状況を評価するには、次の質問が役立ちます。質問ごとに回答を決定し、質問の任意の場所をクリックして回答を表示します。
質問:正誤問題?Scripted REST APIs は Studio で作成できます。
回答:正解は正しいです。
質問:[コンテンツネゴシエーション] セクションで構成されるものについて説明しているのは次のうちどれですか?複数の回答が正解の場合があります。
回答:正解は 2 と 4 です。開発者は [コンテンツネゴシエーション] セクションを使用して、要求と応答に使用できる形式を構成します。
質問:正誤問題?Scripted REST API のドキュメントは UI ページとして作成する必要があります。
回答:正解は誤りです。REST API のドキュメントは、URL でアクセス可能な場所であればどこでもホストできます。UI ページを使用すると、ServiceNow インスタンスのドキュメントを簡単に管理できます。
質問:スクリプト化された REST リソースを作成すると、次のどれが作成されますか?複数の回答が正解の場合があります。
回答:正解は 3 と 4 です。
要求ヘッダーとクエリパラメーターをリソースに関連付けることができます。
質問:開発者が要求からデータにアクセスできるようにする API は次のうちどれですか?
回答:正解は 5 です。
質問:リソーススクリプトに応答本文を作成するのは次のどのメソッドですか?
回答:正解は 1 です。
質問:正誤問題?Scripted REST APIs を使用すると、開発者はカスタムエラーコードを作成できます。
回答:正解は正しいです。
質問:API のバージョニングの開始方法を説明する文は次のどれですか?
回答:正解は 5 です。バージョニングを有効にした後、[新規バージョンを追加] 関連リンクを使用してバージョンを作成します。
質問:[Web API の使用率] ダッシュボードを開く方法を説明している文は次のどれですか?複数の回答が正解の場合があります。
回答:正解は 2 と 3 です。
記事 (27/28)
コアコンセプト:
記事 (28/28)
お疲れさまでした。「Scripted REST APIs」モジュールはこれで完了です。スクリプト化された REST への関心に基づいて、さらに次のことも学んでいただけます。