3

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

无法指定一组替代 baseUri(只允许一个)。是否有任何替代方法来模拟 API 的多个替代安装(例如,用于单独的发布周期环境)?

4

2 回答 2

8

一种方法是使用 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"]
于 2015-04-01T08:36:36.913 回答
3

我处理这个问题的方式是模板化baseUri

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

baseUri: ${baseUri}

并将 RAML 文件呈现为 JSP。

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

baseUri: <%= base_uri >

并呈现为 ERB。

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

于 2015-04-02T07:20:23.117 回答