如何动态地在RAML输出中包括/排除API块

问题描述 投票:0回答:1

我只是想了解从RAML生成的文档中排除/包括端点的可能性是什么。

例如,给定

#%RAML 1.0
baseUri: https://api.mybanks.com/v1
title: MyBanks-API
version: v1
protocols: [HTTP, HTTPS]
mediaType: application/json

/banks:
  get:
    description: Lists all banks
    responses:
      200:
        body:
          text/plain:
            example: ['b1', 'b2']
/accounts:
  get:
    description: List all accounds
    responses:
      200:
        body:
          text/plain:
            example: ['a1', 'a2', 'a3']

我想从生成的文档中排除/banks API。有哪些可能的方法? (最好不加评论)

mule mulesoft raml
1个回答
0
投票

没有办法(AFAIK)动态排除API规范的摘要-而且,此功能的语义是什么?即是什么意思?另一个考虑因素是,当您采用该规范并开始实施该规范时,它如何应用?

现在有一种方法可以扩展带有RAML extension的现有API规范。 https://github.com/raml-org/raml-spec/blob/master/versions/raml-10/raml-10.md/#extensions

如果使用RAML extension片段,则规范将分为两个文件:

1)根RAML文件:

#%RAML 1.0
baseUri: https://api.mybanks.com/v1
title: MyBanks-API
version: v1
protocols: [HTTP, HTTPS]
mediaType: application/json

/accounts:
  get:
    description: List all accounds
    responses:
      200:
        body:
          text/plain:
            example: ['a1', 'a2', 'a3']

2)extension片段:

#%RAML 1.0 Extension
extends: banks-api.raml

/banks:
  get:
    description: Lists all banks
    responses:
      200:
        body:
          text/plain:
            example: ['b1', 'b2']

现在您具有API的两个视图,(1)根和(2)extension。您可以向用户提供根目录或extention

© www.soinside.com 2019 - 2024. All rights reserved.