私の REST アプリケーション モデルでは、多くのエンティティに "Auditable" インターフェイスが含まれています。これにより、これらのエンティティのエンドポイントにこれらのサブパスを追加する必要があります。
/myEntityResource:
#... boring code ...
/createdBy:
get:
responses:
200:
body:
application/hal+json:
example: !include samples/userAccount.json
/lastModifiedBy:
get:
responses:
200:
body:
application/hal+json:
example: !include samples/userAccount.json
理想的な解決策は、「監査可能」な特性をエンドポイントに追加することですが、RAML の定義によると、特性は動詞レベルでのみ適用されます。
私にとってもう 1 つの理想的なオプションは、両方のパスを含むリソース タイプ「auditableItem」を定義することですが、RAML 定義ではリソース タイプにパスを追加することはできません。
現時点での私の最善のアプローチは、すべてのエンドポイントに両方のパスを追加し、本文を別のファイルに含めることです。
/createdBy: !include auditableBody.raml
/lastModifiedBy: !include auditableBody.raml
もっと良い方法はありますか?