【发布时间】:2018-11-23 09:18:11
【问题描述】:
Swagger 的 Spring 服务器代码生成有一个名为 useBeanValidation 的选项,但我不知道如何使用它。我找不到任何文档告诉我它支持哪些验证,所以我决定自己尝试一下。 OpenAPI 规范对模式对象属性的描述列出了这些属性:
title
multipleOf
maximum
exclusiveMaximum
minimum
exclusiveMinimum
maxLength
minLength
pattern
maxItems
minItems
uniqueItems
maxProperties
minProperties
required
enum
所以我尝试将其中一些属性添加到我创建的对象的字段中。这是我的 .yaml 文件的相关部分:
components:
schemas:
Dummy:
type: object
properties:
iMinMax:
type: integer
format: int32
minimum: 0
maximum: 100
dMinMaxEx:
type: number
format: int32
minimum: 5.0
maximum: 10.0
exclusiveMinimum: false
exclusiveMaximum: true
dMinExMaxEx:
type: number
format: int32
minimum: 5.0
maximum: 10.0
exclusiveMinimum: true
exclusiveMaximum: true
dMinExMax:
type: number
format: int32
minimum: 5.0
maximum: 10.0
exclusiveMinimum: true
exclusiveMaximum: false
sArray:
type: array
items:
type: string
minItems: 5
maxItems: 10
uniqueItems: true
sLen:
type: string
format: text
minLength: 5
maxLength: 10
我打开了Spring代码生成器的bean验证选项,生成了服务端代码,但是没有任何效果。它生成的代码与关闭选项时完全相同。有谁知道如何使用 Swagger 的 Bean Validation 选项?
【问题讨论】:
-
看看这个vojtechruzicka.com/…,好像JSR-303 没有OOB
-
感谢您的链接。它澄清了一些事情,但我仍然感到困惑。它讨论了我的模型类中的注释。但根据我的经验,它不会读取我的模型类。它是在谈论我添加到 swagger 生成的模型中的注释吗?还是有其他设置告诉它读取我的 Hibernate 数据bean?
标签: swagger code-generation bean-validation