Skip to main content

 

 

 

 
Language:

 

 
Service Studioバージョン :
 
 
OutSystems

REST URLをカスタマイズする

この記事は作成中です。この新しいバージョンはどの程度参考になりましたか。投票でお聞かせください。

OutSystemsでは、必要に応じてREST APIメソッドのURLをカスタマイズできます。
たとえば、次のURLがあるとします。

GET https://<サーバー>/PhoneAPI/rest/v1/GetContact?Id={Id}

これを次のようにカスタマイズできます。

GET https://<サーバー>/PhoneAPI/rest/v1/Contacts/{Id}

これには、以下の手順を実行します。

  1. Logic]タブで、Integrationsフォルダを開きます。

  2. REST APIを展開し、変更するメソッドを選択してプロパティを表示します。

  3. REST APIメソッドのURL Pathプロパティを新しいカスタムURLに設定します。

    例: /contacts/{Id}

    注記: URLに含まれる入力パラメータを必須として設定する必要があります。

これに従ってURLプロパティが変更されます。

以下のセクションでは、エンドポイントをカスタマイズする方法の例をいくつか示しています。

コレクションのエンドポイントの例

リソースに関連するメソッドには同じ名前を使用します。OutSystemsは、どのメソッドを実行するかをHTTP動詞(GETPOSTなど)によって認識します。

デフォルトのエンドポイント URLパス カスタマイズされたエンドポイント
GET /PhoneAPI/rest/v1/GetContacts /contacts GET /PhoneAPI/rest/v1/contacts
POST /PhoneAPI/rest/v1/CreateContact /contacts POST /PhoneAPI/rest/v1/contacts

注記: 簡略にするため、エンドポイントにはプロトコルとサーバー情報を示していません。

リソースのエンドポイントの例

特定のリソースを処理する場合、「URL Path」プロパティの値をコレクション名で開始し、HTTP動詞に応じて以下のいずれかを追加します。

  • GETまたはDELETEの場合: {}の間にリソース識別子(REST APIメソッドの入力パラメータ)を追加します。

  • PUTの場合: リソースはすでにリクエストのヘッダーまたはボディで渡されているため、何も追加しません。

デフォルトのエンドポイント URLパス カスタマイズされたエンドポイント
GET /PhoneAPI/rest/v1/GetContact /contacts/{Id} GET /PhoneAPI/rest/v1/contacts/{Id}
DELETE /PhoneAPI/rest/v1/DeleteContact /contacts/{Id} DELETE /PhoneAPI/restv1/contacts/{Id}
PUT /PhoneAPI/rest/v1/UpdateContact /contacts PUT /PhoneAPI/rest/v1/contacts

サブコレクションのエンドポイントの例

マスター/詳細の関係の場合、詳細をマスターリソースのコレクションとして扱います。

デフォルトのエンドポイント URLパス カスタマイズされたエンドポイント
GET /PhoneAPI/rest/v1/GetContactAddresses /contacts/{Id}/addresses GET /PhoneAPI/rest/v1/contacts/{Id}/addresses

REST APIのURLに関する推奨事項

  • カスタマイズされたURLの末尾をスラッシュ(「/」)記号にしないでください。関連する意味はなく、省略するのが一般的です。

  • REST APIリソースには、キャメルケース(例: 「camelCase」)やスネークケース(例: 「snake_case」)などの一般的な命名規則がいくつかあります。REST APIのURLについてもすべて同じ命名規則に従ってください。

重要な注意事項

  • .NETの制限により、メソッドの呼び出しが動作しなくなるため、URLの最後の部分(最後の「/」(スラッシュ)記号より後ろの部分)に「.」(ピリオド)記号を含めることはできません。

  • 公開しているREST APIメソッドのカスタムREST URLで予約文字「-」(ハイフン)、「;」(セミコロン)、「?」(疑問符)、「=」(等号)を使用することはできません。
    「?」記号と「=」記号はURLのクエリ文字列部分(URLの「?」文字で始まる部分)に含まれ、URLのクエリ文字列部分は公開しているREST URLメソッドで管理されます。

  • 公開しているREST APIメソッドを呼び出すとき、Receive Inプロパティを「URL」に設定した入力パラメータを指定する必要があります。これらはカスタムURLのクエリ文字列の一部に含まれません。

    たとえば、前のセクションで示した例の続きで、2つの入力パラメータ「Id」と「AddressId」を備えた公開しているREST APIメソッド「GetContactAddress」について考えます。このメソッドのURL Pathプロパティを以下の値に設定できます。

    /contacts/{Id}/addresses/{AddressId}

    この場合、URLで受け取るように定義されたすべての入力パラメータがURL Path値に含まれます。Id=5(連絡先のID)とAddressId=10を使用してこのメソッドを呼び出すには、以下のURLを使用します。

    GET /PhoneAPI/rest/v1/contacts/5/addresses/10

    また、「AddressId」入力パラメータをカスタムURLに含めず、URL Pathプロパティを以下の値に設定することもできます。

    /contacts/{Id}/addresses

    この場合、「AddressId」の値を含むメソッドを呼び出すには、URLの末尾にクエリ文字列の一部としてこのパラメータを含めます。

    GET /PhoneAPI/rest/v1/contacts/5/addresses?AddressId=10

  • Was this article helpful?