小编Pie*_*mot的帖子

在 Open API 3 中正确使用多态/继承

我在 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)

在这种情况下,唯一的约束条件CatDog并且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)

polymorphism inheritance swagger openapi

7
推荐指数
0
解决办法
1558
查看次数

Spring Boot事务管理器超时

我正在使用Spring Boot 1.4.2中的spring-boot-starter-data-jpa.

一切正常(@Entity类发现,数据源自动配置,事务自动配置,EntityManager自动配置).

我无法找到交易超时可以设置的位置.由于我希望尽可能深入地使用Spring Boot,因此我不希望在任何Config文件中以编程方式声明事务管理器bean.

" 常见应用程序属性引用 "仅提及JTA事务管理器的超时,但没有为自动配置提供简单JPA使用.请注意,我不是在寻找jdbc查询超时.

有任何想法吗 ?

transactional spring-transactions spring-boot

5
推荐指数
1
解决办法
3695
查看次数