Swagger 2.0更新模型返回默认值而不是Ruby客户端代码

时间:2017-09-08 22:29:43

标签: swagger-2.0

我正在使用Swagger 2.0并生成一个Ruby客户端。

我遇到的问题涉及更新对象。 PATCH请求中返回的值是定义中的所有默认值。例如,我有一个默认名称“未命名”,我运行我的补丁脚本将名称更新为“Marty”,响应让我回到我的定义中的所有默认值,包括“未命名”。然而,窥视数据库确实让我看到params都已经适当更新了。

这是我的YAML for PATCH请求和Source的定义,这是我正在更新的对象:

patch:
  tags:
  - sources
  summary: Updates a source
  description: Updates a source by id
  operationId: patchASource
  consumes:
  - application/x-www-form-urlencoded
  produces:
  - application/json
  - application/xml
  parameters:
  - name: id
    in: path
    description: ID of source that needs to be updated
    required: true
    type: integer
    format: int64
  - name: category
    in: formData
    description: Updated category of the source
    required: false
    type: integer
  - name: code
    in: formData
    description: Updated code of the source
    required: false
    type: integer
  - name: description
    in: formData
    description: Updated description of the source
    required: false
    type: string
  - name: file_name
    in: formData
    description: Updated file_name of the source
    required: false
    type: string
  - name: name
    in: formData
    description: Updated name of the source
    required: false
    type: string
  responses:
    200:
      description: Updated Source Successfully
      schema:
        $ref: '#/definitions/Source'

我的来源定义:

definitions:
  Source:
    properties:
      category:
        type: integer
        default: 0
        example: 0
        format: int32
      code:
        type: integer
        default: 0
        example: 201
        format: int32
      description:
        type: string
        default: ~
        example: "example description"
      file_name:
        type: string
        default: ~
        example: "iris.csv"
      name:
        type: string
        default: "Unnamed Source"
        example: "Iris Data"  

因此,当我运行脚本来更新Source对象时,我在响应中返回的是上面定义中的所有默认值。我可以通过id获取Source,看看它实际上已经更新了。

YAML是否有问题需要更正以返回响应中的更新值?

请善待,因为这是我关于SO的第一个问题。 :)

0 个答案:

没有答案