我在 Open API 3 中正确使用多态性时遗漏了一些东西。
在规范文档 (3.0.2) 中,一个示例使用oneOf,并且可选地使用Discriminator块:
MyResponseType:
oneOf:
- $ref: '#/components/schemas/Cat'
- $ref: '#/components/schemas/Dog'
- $ref: '#/components/schemas/Lizard'
discriminator:
propertyName: petType
Run Code Online (Sandbox Code Playgroud)
在这种情况下,唯一的约束条件Cat,Dog并且Lizard必须满足是强制性字段petType,和一个预定值。稍后,可以阅读:
为了避免冗余,可以将鉴别器添加到父模式定义中,并且在 allOf 构造中包含父模式的所有模式都可以用作替代模式。
我觉得它很好,因为它提供了对 3 个实体的自然继承的正确使用:
components:
schemas:
Pet:
type: object
required:
- petType
properties:
petType:
type: string
discriminator:
propertyName: petType
mapping:
dog: Dog
Cat:
allOf:
- $ref: '#/components/schemas/Pet'
- type: object
# all other properties specific to a `Cat`
properties:
name:
type: …Run Code Online (Sandbox Code Playgroud) 我正在使用Spring Boot 1.4.2中的spring-boot-starter-data-jpa.
一切正常(@Entity类发现,数据源自动配置,事务自动配置,EntityManager自动配置).
我无法找到交易超时可以设置的位置.由于我希望尽可能深入地使用Spring Boot,因此我不希望在任何Config文件中以编程方式声明事务管理器bean.
" 常见应用程序属性引用 "仅提及JTA事务管理器的超时,但没有为自动配置提供简单JPA使用.请注意,我不是在寻找jdbc查询超时.
有任何想法吗 ?