RAML中的多个baseUri?

时间:2015-04-01 08:34:24

标签: raml

我是RAML的新手,我有一个基本问题:

无法指定一组替代baseUri(仅允许一个)。有没有其他方法可以为API的多个替代安装建模(例如,对于单独的发布周期环境)?

2 个答案:

答案 0 :(得分:7)

一种方法是使用baseUriParameters并为不同的部署使用枚举值。

#%RAML 0.8
title: Some Service
version: 1
baseUri: https://{environment}/rest/v{version}/services/someservice
baseUriParameters:
  environment:
    description: Integration test, Acceptance Integration Test, Production
    enum: ["test-api.company.com","acc-api.company.com","api.company.com"]

答案 1 :(得分:3)

我处理这个问题的方法是模仿baseUri

对于我使用的JVM应用程序:

baseUri: ${baseUri}

并将RAML文件呈现为JSP。

对于我使用的Ruby应用程序:

baseUri: <%= base_uri >

并呈现为ERB。

baseUri的值是根据入站请求动态计算的,因此它始终与其部署的主机/域匹配。