我正在使用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的第一个问题。 :)