繁体   English   中英

springdoc-openapi 通用控制器类型参数支持

[英]springdoc-openapi generic controller type parameters support

我有以下控制器代码:

    public abstract class BaseController<TClientModel extents BaseClientModel> {
       @Operation
       @GetMapping
       Page<TClientModel> get()
    }

    @Data
    public abstract class BaseClientModel {
       int id;
    }

    @RestController
    public class SpecificController extends BaseController<SpecificClientModel> {}

    @Data
    public class SpecificClientModel extends BaseClientModel {
        String name;
    }

问题:当Swagger为SpecificController生成open-api标记时,响应中的客户端模型是BaseClientModel,而不是SpecificClientModel,只有id字段,没有id+name。

实际的:

{
  "id": 0,
}

预期的:

{
  "id": 0,
  "name": "string",
}

鉴于我有 40 多个特定的控制器,有什么办法可以让 springdoc open-api 根据特定的通用参数生成正确的标记?

该支持现在是 springdoc-openapi v1.2.33 的一部分。 例如,如果您使用的是 spring-mvc,则可以声明:

   <dependency>
      <groupId>org.springdoc</groupId>
      <artifactId>springdoc-openapi-ui</artifactId>
      <version>1.2.33</version>
   </dependency>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM