标签: raml

如何在JSON中转义特殊字符

我们有一个表格,其中包含一个scienctific应用程序的长段落,其中包含符号beta(ß-arrestin)等字符.我们在Mule上运行一个JSON服务,它接收数据并持久存储到oracle数据库.这个带有长段的特殊元素在RAML/JSON中给出了一个错误.以下是错误

com.fasterxml.jackson.core.JsonParseException: Illegal unquoted character ((CTRL-CHAR, code 9)): has to be escaped using backslash to be included in string value
Run Code Online (Sandbox Code Playgroud)

科学家写的形式元素我们无法控制.所以在Mule方面,我们如何自动地逃避这些字符,就像java具有URLEncoded一样.非常感谢

java json mule raml

8
推荐指数
2
解决办法
1万
查看次数

baseUri可能基于raml的服务位置而动态化

刚开始使用raml(阅读规范),看看它是否有我需要记录我的api.

关注根级别所需的baseUri属性,以定义您的服务器Url.我处在一个场景中,我的api服务于许多不同的域.

是否可以将baseUril定义为从中提供raml文档的URL?

只是看看规格,我没有看到方法.当然,在部署之前可能有多种方法可以擦除raml doc,或者包含具有为该特定部署定义的变量的正确域raml文件.但我真的想避免这种情况.

raml

7
推荐指数
0
解决办法
339
查看次数

RAML:如何要求参数A OR参数B.

我正在用RAML编写一些REST文档但是我被卡住了.

我的问题: - 我有一个用于搜索的GET请求,可以使用参数"id"或(独占或)"引用".已经只有一个是必需的.

我知道如何说"这个参数是必需的",但我不知道如何说"需要其中一个参数".它甚至可能吗?

api raml

7
推荐指数
1
解决办法
5408
查看次数

在RAML中描述URI参数

我在RAML中声明了一个REST服务API存根.我的Web应用程序提供了可以列出的设备,可以通过id或代码获得.当我想要整个列表时,我没有指定任何URI参数,但是,为了获得具体设备,我这样做.这是它目前的状态:

/equipment:
    get:
      body:
        application/json:
        application/xml:
    description:
      List all the equipment
    /id/{equipmentId}:
      get:
         body:
          application/json:
          application/xml:
      description:
        Get an equipment by id 
    /code/{code}:
        get:
          body:
            application/json:
            application/xml:
        description: 
              Get an equipment by code
Run Code Online (Sandbox Code Playgroud)

在这里,description我写了当前调用执行的内容.但是,我想为URI本身(idcode)传递的参数添加一个描述.有没有办法实现它?

api rest raml

6
推荐指数
1
解决办法
1万
查看次数

RAML中的POST参数支持

我想问一下RAML中是否支持POST参数.如果有 - 什么是语法.我粗略地浏览了规范0.8和规格1.0(实际上我很受欢迎0.8,因为很多工具还不支持1.0).我没有找到POST参数支持,但也许我只是错过了一些东西.

那么POST参数是什么意思?这些可以是两者之一(对不起,我不知道他们的正式名称,如果有的话):

  • HTTP普通参数,key=value每个参数在一行中,如

    name=John Doe amount=5 这不是很方便(例如没有嵌套)

  • 参数作为JSON对象,只是一个允许其所有语法的JSON(服务器端需要解析这个json); 如:

    {"name":"John Doe","amount":"5"}

不同的服务器端API实现使用第一个或第二个.无论如何,RAML如何支持这些?

api rest raml

6
推荐指数
2
解决办法
3029
查看次数

RAML 1.0 - 单个响应的多个示例

我无法在任何地方找到任何代码来演示!include对多个示例使用 a 。我正在尝试以下操作:

200:
  description: Successful project creation
  body:
    application/json:
      type: JiraResponseSuccess
      example: !include examples/jira/projects/success/CreateSuccess.json
400:
  description: User error
  body:
    application/json:
      type: JiraResponseError
      examples:
        username: 
          !include examples/jira/projects/fail/user/UsernameFail.json
        projectKey: 
          !include examples/jira/projects/fail/user/ProjectKeyFail.json
Run Code Online (Sandbox Code Playgroud)

第一个示例呈现良好(只有一个响应),而第二个示例则不然。该语法是正确的,但我不明白为什么它窒息的!include语句。我有错误还是我只需要等待工具赶上?

syntax raml

6
推荐指数
2
解决办法
7295
查看次数

机器可读格式的 Facebook API

在哪里可以找到http://swagger.iohttps://apiblueprint.orghttp://raml.org等格式的 Facebook API ?

我想读取并请求 facebook 服务器(api)“半原子”。我的脚本知道如何与 Facebook 服务器交互。这就是为什么我需要机器可读格式的 Facebook API。

谢谢你的任何提示。干杯托比亚斯

api facebook swagger apiblueprint raml

5
推荐指数
1
解决办法
1218
查看次数

使用RAML处理Mule流中的多种安全方案的最佳方法是什么?

我正在使用RAML创建一个Web服务API。

我用两种安全方案创建了RAML

  • OAuth 2.0
  • 自订

我的第一种方法是根据请求参数处理授权,在该请求参数中,我在请求内发送了一个特殊参数,然后将授权任务委派给任一授权引擎。但这没有用,当向OAuth服务器发出请求时,它就抛出了Null Pointer Exception
然后我才知道针对不同授权方案的授权请求应具有不同的URI,例如,如果发出了针对oAuth的请求,则URI应该类似于/ api / oauth2 / authorize?parameters,而对于其他方案而言,oauth 1.0可以是/ api / oauth1 /授权参数

为了实现这一点,我添加了两个具有不同URI模式的APIkit路由器流。

在此处输入图片说明

所附图像中的第一个APIKit流用于自定义授权,第二个用于OAuth。从图中可以看出,在第二个流程中,我在APIkit路由器之前添加了OAuth验证器。

我想知道将OAuth验证器放在该位置是否正确,以便可以验证每个请求?还是应该将OAuth验证程序作为每个资源流的第一个元素,以便在发出请求后,OAuth可以验证对单个资源的请求。我还在OAuth的某处读到了内容,首先对请求进行身份验证,然后才允许访问受保护的资源,在这种情况下,我猜想我在APIKit路由器正确之前添加OAuth验证程序的方法。但是,我不确定这一点,并希望在整个场景中提供第二条建议。

谢谢。

api restful-authentication mule oauth-2.0 raml

5
推荐指数
0
解决办法
509
查看次数

在许多文件中拆分swagger定义

问题:如何跨文件拆分swagger定义?那个地区有什么可能性?问题详情如下:

我想要的例子 - 在RAML中

我确实有RAML的经验,我的工作是,例如:

/settings:
  description: |
    This resource defines application & components configuration
  get:
    is: [ includingCustomHeaders ]
    description: |
      Fetch entire configuration
    responses:
      200:
        body:
          example: !include samples/settings.json
          schema: !include schemas/settings.json
Run Code Online (Sandbox Code Playgroud)

最后两行在这里非常重要!include <filepath>- 在RAML中有- 我可以将我的整个合同拆分成许多文件,这些文件只是由RAML解析器动态包含(并且所有基于RAML的工具都使用RAML解析器).

我的好处是:

  • 我的合同更清晰,更容易维护,因为模式不是内联的
  • 但这非常重要:我可以在其他工具中重用模式文件来进行验证,模拟生成,存根,生成测试等.换句话说,这样我就可以在契约(RAML,本例)和其他工具(非RAML,非swagger,只是基于JSONschema的工具)中重用模式文件.

回到Swagger

据我所知,swagger支持$ref允许加载外部文件的关键字.但是这些文件是通过HTTP/AJAX获取的还是只是本地文件?

并且是整个规范支持还是只是一些支持它的工具,而有些工具不支持它?

我在这里发现,swagger的输入必须是一个文件.这对大型项目来说非常不方便:

  • 因为大小
  • 因为如果我想使用非招摇的东西,我就无法重用架构

或者,换句话说,我可以用摇摆乐来实现同样的目标 - 我可以用RAML - 在分割文件方面吗?

api rest contract swagger raml

5
推荐指数
1
解决办法
5563
查看次数

从 Spring MVC 控制器自动将 REST api 文档生成到 RAML 中

我是 Spring Boot 的新手。我想从 Spring MVC 控制器自动将 REST api 文档生成到 RAML 中。有什么可以做的吗?或者有什么指南可以让我用它来将我的 REST API 生成到 RAML 中?

spring raml raml-java-parser spring-restdocs spring-auto-restdocs

5
推荐指数
1
解决办法
2496
查看次数