Apiblueprint api蓝图中给定端点的多个响应

Apiblueprint api蓝图中给定端点的多个响应,apiblueprint,apiary.io,Apiblueprint,Apiary.io,在API蓝图中是否可以为给定端点定义一组可能的响应 例如,如果我有一个端点,比如/movie/{id},我希望能够定义一组电影记录,以便在模拟服务器中获取/movie/1或GET/movie/2或GET/movie/3并获取相关记录 我所看到的示例似乎都只定义了一种可能的响应。不可能使用单个操作来模拟这种情况,但有一种解决方法 FORMAT: 1A # Multi ## GET /movie/1 + Response 200 (application/json) { "i

在API蓝图中是否可以为给定端点定义一组可能的响应

例如,如果我有一个端点,比如/movie/{id},我希望能够定义一组电影记录,以便在模拟服务器中获取/movie/1或GET/movie/2或GET/movie/3并获取相关记录


我所看到的示例似乎都只定义了一种可能的响应。

不可能使用单个操作来模拟这种情况,但有一种解决方法

FORMAT: 1A

# Multi

## GET /movie/1

+ Response 200 (application/json)

        { "id": 1, "title": "First" }

## GET /movie/2

+ Response 200 (application/json)

        { "id": 2, "title": "Second" }

## GET /movie/3

+ Response 200 (application/json)

        { "id": 3, "title": "Third" }

## GET /movie/{id}

+ Parameters
    + id (required, number, `42`) ... Blah.

+ Response 200 (application/json)

        { "id": 42, "title": "First" }

现在,如果点击
/movie/2
,模拟服务器将发送相应的响应。谢谢。

您可以添加多个请求块,如下所示:

### Register [POST]
Registers an account

+ Request Already existing username

    + Body

            {
                "app": 3,
                "username": "already-existing-username",
                "password": "password"
            }

+ Response 200 (application/json)

    + Body

            {
                "success": false,
                "error": "The username specified is already registered to an account.",
                "error_field": "username"
            }

+ Request Invalid password

    + Body

            {
                "app": 3,
                "username": "username",
                "password": "password"
            }

+ Response 200 (application/json)

    + Body

            {
                "success": false,
                "error": "Please supply a valid password.",
                "error_field": "password"
            }

您还可以找到这一点

这就是您如何使用Mulesoft(API设计器)在RAML文件中提供多个响应的方式。但是,如果您使用模拟服务进行测试,您将始终获得为测试设置的示例响应

/{id}:
    get:
      headers:
       Requester-Id:
        required: true
      responses:
        200:
          body:
            application/json:
              type: Account
              example:
                !include exapmle/AccountExample.raml

        400:
          body:
            application/json:
              example:
                {"message":"Error retrieving account for the provided id"}