0

对我的 API 使用 node dredd。我选择使用 yml 文件,因为这是我的团队熟悉的标准。

这是我们正常运行的示例代码段:

  /api/station/{id}:
    get:
      produces:
        - application/json; charset=utf-8
      parameters:
      - name: id
        in: path
        required: true
        type: string
        description: DynamoDB ID of the station to edit
        x-example: 'daf04a00-c3bf-11e7-a913-b76623d265c4'
      responses:
        200:
          description: Returns a single station
          schema:
            $ref: '#/definitions/station'

我想我可以猜到如何定义备用响应对象,我假设只是添加到对象中,例如:

  responses:
    200:
      description: Returns a single station
      schema:
        $ref: '#/definitions/station'
    422:
      description: Failed validation

在 dredd 文档中:https ://dredd.readthedocs.io/en/latest/how-to-guides.html#multiple-requests-and-responses-within-one-api-blueprint-action

有一个如何向同一个端点发送多个请求的示例。但这是针对 API 蓝图格式而不是 yaml。

有谁知道如何使用 yaml 格式将多个请求传递到同一个端点?我看不到任何有关如何执行此操作的文档

4

1 回答 1

0

在您链接的文档部分的正下方,有使用 Swagger 测试非 2xx 响应

Swagger格式允许为单个操作指定多个响应。默认情况下,Dredd 仅测试带有2xx状态代码的响应。带有其他代码的响应被标记为已跳过,并且可以在挂钩中激活 - 请参阅使用 Swagger 测试非 2xx 响应。

Dredd 会忽略默认响应。此外,截至目前, 和 仅支持application/json媒体类型。其他媒体类型被跳过。producesconsumes

于 2017-11-13T13:05:18.800 回答