在我的 REST 应用程序模型中,我的许多实体都包含一个“可审计”接口。这迫使我将这些子路径添加到这些实体端点:
/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 定义,特征仅适用于动词级别。
对我来说,另一个理想的选择应该是定义一个包含两个路径的资源类型“auditableItem”,但 RAML 定义不允许向资源类型添加路径。
目前我最好的方法是将两个路径都添加到每个端点,并将正文包含在一个单独的文件中:
/createdBy: !include auditableBody.raml
/lastModifiedBy: !include auditableBody.raml
有没有更好的办法?