一个主RAML文件,引用子RAML

时间:2018-02-09 15:15:41

标签: rest api raml

我有2个RAML文件(必须是v0.8),完全描述了2个资源:animals.raml和plants.raml。

它们都包含:

#%RAML 0.8
---
title: Animals API
baseUri: http://something/
documentation:
  - title: Overview
    content: The */animals* resource allows you to...
mediaType: application/json

protocols:
  - HTTPS

/animals:
  post:
    description: Create a new animal
    body:
      schema: !include ./schemas/animal.schema.json
    responses:
      202:
        description: In a few months, your new pet will be born.

现在我想有一个主文件api.raml,它将提供有关动植物资源的一般概述。 API阅读器将导航到api.raml,然后从那里他将能够再次导航到特定的raml。或者它可以在同一页面上全部内联。

我天真地试过

#%RAML 0.8
---
title: Zoo & Botanical garden APIs
documentation:
  - title: Overview
    content: The *Zoo & Botanical garden APIs* contain resources that allow you to ...

resourceTypes: !include animals.raml
resourceTypes: !include plants.raml

显然很天真,很多关于标题元素的投诉都失败了。

我应该如何创建主api.raml,它基本上只需要包含一般信息,然后包含/链接到特定的RAML?

1 个答案:

答案 0 :(得分:1)

你不能拥有" resourceTypes:"关键字两次,您可以将资源类型分开,如下所示:

#%RAML 0.8
title: Example API
version: v1
resourceTypes:
   - collection: !include resourceTypes/collection.raml
   - member: !include resourceTypes/member.raml

或者您将所有内容都包含在一个文件中并执行以下操作:

#%RAML 0.8
title: Example API
version: v1
resourceTypes: !include resourceTypes.raml

检查here for more info on how to use includes