我使用 sails.js 0.12.13 和 sails-hook-swagger-generator 来构建详尽的文档。 我想在route.js的控制器中设置必要的参数。 我已经尝试过其他选项,但没有结果。 我可以按此处描述的那样设置主体参数,但是仅对非对象(非嵌套)类型的选项进行了描述。尝试使用“模式”也不会成功。
您能帮助我了解如何正确使用您的库来实现上述结果。
我的ajv验证模式示例。在结构上我需要与之相同的结果。
signin: {
type: "object",
properties: {
company: {
type: "object",
properties: {
name: {type: "string", minLength: 1, maxLength: 50},
email: {type: "string", format: "email", minLength: 0, maxLength: 50}
},
required: ["name", "email"]
},
contact: {
type: "object",
properties: {
firstName: {type: "string", minLength: 1, maxLength: 50},
email: {type: "string", format: "email", minLength: 0, maxLength: 50}
},
required: ["firstName", "email"]
}
},
required: ["company", "contact"]
}
感谢您的帮助!
建议我使用此pattern,然后将所需的数组作为字段移动到每个属性对象字段中。我尝试使用它,但是不幸的是,所有尝试配置路由以显示嵌入式对象的尝试都是不确定的。该代码无法转换为正确的swagger.json文件。
代码示例(最近一次尝试):
Route.generate({
method: "POST",
endpoint: "auth/signin",
controller: controller,
action: "signin",
swagger: {
summary: "User login",
description: "User login",
parameters: [{
in: 'body',
type: 'object',
name: 'contact',
schema: {
type: 'object',
properties: {
name: { type: "string", minLength: 1, maxLength: 50 }
}
},
required: true
}, {
in: 'body',
type: 'object',
name: 'company',
schema: {
type: 'object',
properties: {
name: { type: "string", minLength: 1, maxLength: 50 }
}
},
required: true
}]
}
});
在我的UI中,我有2个空的形体参数(联系人和公司),类型为“对象”。