java - Swagger 文档中未显示嵌套对象

标签 java spring-boot swagger springfox

我在 2.9.2 版本上使用 swagger-springfox,我遇到了多个嵌套对象显示不完整的问题。
我有一个名为 AddEntityCaseReq 的类(class)和下面的结构。当我访问swagger-ui.htmlProperties中什么都没有.
我已标记 @ApiModel@ApiModelProperties在每个类(class)。有什么遗漏吗?

This is the class structure


AddEntityCaseReq
├── id
└── List<UploadDocuments> uploadDocuments;
    └── Properties
          ├── id
          └── name

This is the controller code


    @ResponseBody
    @RequestMapping(value = "/addEntityCase", method = RequestMethod.POST)
    @ApiOperation(value = "add entity case", notes = "add entity case")
    @ApiImplicitParam(name = "addEntityCaseReq", value = "reuqest",
            required = true, dataType = "AddEntityCaseReq")
    public CommonResp<Boolean> addEntityCase(@RequestBody AddEntityCaseReq addEntityCaseReq) {
        return addEntityCase.execute(addEntityCaseReq);
    }

swagger model details here



swagger model details here

最佳答案

如果您在 openapi 中有类层次结构,您可能只会在 swagger ui 中看到基类。您可以做的是在配置中强制为更丰富的子类映射基类:

    return new Docket(DocumentationType.SWAGGER_2)
            .securitySchemes(schemeList)
            .alternateTypeRules( AlternateTypeRules.newRule(
                    typeResolver.resolve(LocalDate.class),
                    typeResolver.resolve(Date.class), Ordered.HIGHEST_PRECEDENCE),
                    AlternateTypeRules.newRule(
                            typeResolver.resolve(List.class, LocalDate.class),
                            typeResolver.resolve(List.class, String.class), Ordered.HIGHEST_PRECEDENCE),
                    AlternateTypeRules.newRule(
                            typeResolver.resolve(List.class, YourBaseClass.class),
                            typeResolver.resolve(List.class, YourRicherSubclass.class), Ordered.HIGHEST_PRECEDENCE)

            )
            .select()

这是映射列表的示例,但对于标准对象也一样。

关于java - Swagger 文档中未显示嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53311385/

相关文章:

java - 通过 Twitter4j 检查我在关注谁

Swagger - 将多个安全参数添加到同一架构定义中

Swagger 从 1.2 到 2.0 规范的迁移

c# - 如何从根 url 重定向到/swagger/ui/index?

java - 如何在 MVEL 中公开常量值?

java - 在java中访问其他方法变量?

java - QueryDSL 关系排序为空

java - mongo-operations spring mongo批量操作执行异常(CodecConfigurationException : Can't find a codec for class)

java - 当从外部资源更新表时,Spring Data JPA 不会刷新或清除缓存

java - STS - Spring Boot 应用程序 - 请求的资源不可用