【发布时间】:2017-07-09 23:29:42
【问题描述】:
我的数据库中有以下对象结构
{
partnerName: '24 Fitness',
supportedProducts: [
'FitBit',
'Protein Powder'
]
},
可以从客户端修改键值supportedProducts。
我正在使用 swagger 文档构建一个 PATCH API 方法来支持上述功能。但是我不确定补丁对象的定义,因为文档没有提供构建补丁的详细示例。
我当前的定义在执行时出错,如下所示
"patch":{
"description":"Update supported products for a partner",
"operationId":"Update supported products",
"parameters":[
{
"name": "partnerName",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "supportedProducts",
"in": "body",
"required": true,
"schema":{
"$ref":"#/definitions/PatchRequest"
}
}
],
"responses":{
"200":{
"description": "product updated"
},
"404":{
"description": "Not Found"
}
}
"definitions": {
"PatchRequest":{
"type": "object",
"required":[
"partnerName",
"supportedProducts"
],
"properties":{
"partnerName":{"type": "string"},
"supportedProducts":{
"type": "array",
"items":{"type": "string"}
}
}
}
}
【问题讨论】:
-
您的服务器期望什么请求 URL 和正文?
-
@Helen 请求 URL 是 /data/{partnerName} 并且正文应该期望 partnerName 和 supportedProducts 作为值。但在我的情况下,当我尝试配置上述 json 时,这会失败,在我可以运行服务器并发出请求之前
-
这是您的整个 JSON 定义还是只是其中的摘录? (询问是因为仅此代码不是有效的 JSON。)
-
@Helen 这只是其中的一部分,而不是整个 json,只是我用于补丁的部分
标签: rest swagger swagger-ui