在我的应用程序的Swagger UI中,我有POST和PUT方法,它们都将POJO作为REST调用中的body参数。当我查看UI并单击Model Schema以自动填充参数框时(只是为了节省输入整个JSON的时间),它不包含参数的名称,因此请求失败。例如:
模型架构:
{
"first": "string",
"last": "string",
"address": "string",
"email": "string",
.
.
.
}
但是,要发出请求,我需要包含参数名称entry
,如下所示:
{ "entry": {
"first": "string",
"last": "string",
"address": "string",
"email": "string",
.
.
.
}}
虽然在提出请求之前自己做这件事并不太不方便,但是它引起了其他开发人员在我的应用程序中使用Swagger UI而没有意识到他们需要添加entry
的问题。有没有办法修改模型架构?
答案 0 :(得分:2)
参数的name
未用作body
参数中的属性。为了描述您的模型,您可以使用entry
类型定义object
属性,如下所示:
definitions:
Entry:
type: object
properties:
entry:
type: object
properties:
first:
type: string
last:
type: string
address:
type: string
email:
type: string
您可以将它用作身体架构,如下所示:
post:
produces:
- application/json
parameters:
- name: body
in: body
schema:
$ref: '#/definitions/Entry'