【问题标题】:using external schemas in RAML在 RAML 中使用外部模式
【发布时间】:2016-02-19 08:39:36
【问题描述】:

我有一个 RAML 规范,我想在不同文件夹中的其他项目中引用 JSON 模式。

我该怎么做?

我只能发现您可以通过这样的 url 引用架构:

{
    "$schema":"http://json-schema.org/draft-04/schema#",
    "title":"error",
    "description":"schema for api specified errors",
    "type":"object",
    "properties":
{

可能的解决方案

title: BirthdayParty
baseUri: http://bouncyouse.com/{version}
schemas:
 - DaddySchema !include C:/projects/schema/Daddy1
 - MommySchema !include C:/projects/schema/Mommy2

【问题讨论】:

  • 您是在询问从 RAML 规范中引用 JSON 模式还是在 RAML 规范中包含 RAML 片段?
  • 假设您想引用 JSON 模式而不是 RAML 规范并相应地改写您的问题。

标签: json schema raml


【解决方案1】:

在您的 RAML 中,您可以包含来自相同或不同文件夹的不同 JSON 模式。 例如:

title: GitHub API
version: v3
baseUri: https://api.github.com
mediaType:  application/json
schemas:
  - User:  schema/user.json
  - Users: schema/users.json
  - Org:   schema/org.json
  - Orgs:  schema/orgs.json
/root:
   post:
      body:
          schema: User

要在 JSON 架构中引用,您可以使用 id$ref

【讨论】:

  • 你能展示一下包含来自C:\Documents\MyProject\DaddySchema的JSON模式的例子吗?
  • 你试过file://C/Documents/MyProject/DaddySchema 吗?顺便说一句,这是一个非常糟糕的主意。这将阻止其他人处理您的项目,因为架构未使用 RAML 规范签入。此外,这会使您的项目暴露在这些外部文件上不受控制的更改。这会来咬你。
  • 我认为它实际上是一个三斜杠:file:///C/,不确定,没有使用 Windows。
  • @bouncingHippo 你用的是什么工具?我同意大卫的观点,相对路径会更好
猜你喜欢
  • 2015-01-19
  • 2015-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-07
  • 1970-01-01
  • 2010-09-21
相关资源
最近更新 更多