我是RAML的新手,我有一个基本问题:
无法指定一组替代baseUri(仅允许一个)。有没有其他方法可以为API的多个替代安装建模(例如,对于单独的发布周期环境)?
答案 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
的值是根据入站请求动态计算的,因此它始终与其部署的主机/域匹配。