RestResource アノテーション
@RestResource アノテーションはクラスレベルで使用され、Apex クラスを REST リソースとして公開できるようにします。
このアノテーションを使用する場合、次の点に留意してください。
- URL 対応付けは、https://instance.salesforce.com/services/apexrest/ と相対的です。
- ワイルドカード文字 (*) を使用することができます。
- URL の対応付けでは、大文字と小文字は区別されます。my_url の URL の対応付けでは、My_Url ではなく my_url を含む REST リソースのみが一致します。
- このアノテーションを使用するには、Apex クラスがグローバルとして定義されている必要があります。
URL のガイドライン
URL パスの対応付けは次のようになります。
- パスは '/' で開始する必要があります。
- '*' が出現したら、その前に '/'、後に '/' を付ける必要があります。ただし、'*' が末尾の文字である場合は後続の '/' は不要です。
URL 対応付けのルールは次のようになります。
- 常に完全一致が優先されます。
- 完全一致がない場合、ワイルドカードを使用して一致するすべてのパターンを検索し、そのうち文字列の長さが最も長いものが選択されます。
- ワイルドカード一致が見つからない場合、HTTP 応答状況コード 404 が返されます。
名前空間にあるクラスの URL には名前空間が含まれます。たとえば、クラスが名前空間 abc 内にあり、クラスが your_url に対応付けられている場合、API URL は https://instance.salesforce.com/services/apexrest/abc/your_url/ のように変更されます。URL が競合する場合、名前空間にあるクラスが常に使用されます。