首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将自定义默认子路径添加到RAML中的端点

将自定义默认子路径添加到RAML中的端点
EN

Stack Overflow用户
提问于 2015-07-24 16:45:22
回答 1查看 269关注 0票数 1

在我的REST应用程序模型中,我的许多实体都包含一个"Auditable“接口。这迫使我将这些子路径添加到这些实体端点:

代码语言:javascript
代码运行次数:0
运行
复制
/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定义不允许向资源类型添加路径。

我目前最好的方法是将两个路径都添加到每个端点,并将主体包含在一个单独的文件中:

代码语言:javascript
代码运行次数:0
运行
复制
/createdBy: !include auditableBody.raml
/lastModifiedBy: !include auditableBody.raml

有没有更好的办法?

EN

回答 1

Stack Overflow用户

发布于 2016-01-05 18:04:24

简短的回答是“是”。

根据http://apiworkbench.com/docs/#creating-resource-type的说法,您可以将其重构为:

代码语言:javascript
代码运行次数:0
运行
复制
#%RAML 1.0 
title: Auditable Example
version: 1

resourceTypes:
  Auditable-createdBy:
    get:
      responses:
        200:
          body:
            application/hal+json:
              # example: !include samples/userAccount.json
  Auditable-lastModifiedBy:
    get:
      responses:
        200:
          body:
            application/hal+json:
              # example: !include samples/userAccount.json

/myEntityResource:
  /createdBy: 
    type: Auditable-createdBy
  /lastModifiedBy: 
    type: Auditable-lastModifiedBy

当然,您也可以将resourceTypes移动到一个独立的文件中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31606004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档