Swagger 弹簧数据支架的摆动器2或3

Swagger 弹簧数据支架的摆动器2或3,swagger,spring-data-rest,openapi,springfox,springdoc,Swagger,Spring Data Rest,Openapi,Springfox,Springdoc,我有一个使用SpringDataREST的SpringBoot应用程序。我在使用swagger提供一个通俗易懂的API文档时遇到了一个问题。我试过SpringFox和springdoc,但都有问题 春狐: 我无法更改存储库的标记名,只能更改描述 不支持预测 目前还不支持openAPI3(这其实不是什么大问题) Springdoc() 我无法更改标记名和描述(@tag对repos不起作用) 不支持预测 同一个repo获得3个标记,例如books实体控制器、books搜索控制器(具有父类的方法

我有一个使用SpringDataREST的SpringBoot应用程序。我在使用swagger提供一个通俗易懂的API文档时遇到了一个问题。我试过SpringFox和springdoc,但都有问题

  • 春狐:
    • 我无法更改存储库的标记名,只能更改描述
    • 不支持预测
    • 目前还不支持openAPI3(这其实不是什么大问题)
  • Springdoc()
    • 我无法更改标记名和描述(@tag对repos不起作用)
    • 不支持预测
    • 同一个repo获得3个标记,例如books实体控制器、books搜索控制器(具有父类的方法)和books属性引用控制器(具有不必要的/{id}/{property}url列表)
    还有更好的办法吗?我喜欢SpringFox不提供多个标记,而且自动生成的标记名更好,例如Books实体而不是Books实体控制器。但最好是定制它或找到更好的替代品。

    我建议不要大摇大摆。SpringREST文档是测试驱动的,以确保API文档始终与API同步。 解释了为什么SpringREST文档比Swagger更适合API文档

    你可以找到更多

    我妈妈用它。您可以克隆存储库并查看生成的文档HTML。 相关的SpringREST文档文件包括

    如果你觉得我的GITHUB很有用,考虑给它一个明星。

    < P>我推荐Swagger。SpringREST文档是测试驱动的,以确保API文档始终与API同步。 解释了为什么SpringREST文档比Swagger更适合API文档

    你可以找到更多

    我妈妈用它。您可以克隆存储库并查看生成的文档HTML。 相关的SpringREST文档文件包括


    <如果你发现我的GITHUB有用,考虑给它一个星。< /P> < P> <强> SpRundoc < /P> 我无法更改标记名和描述(@tag对repos不起作用)

    同一回购协议有3个标签

    您可以自定义它。在控制器类级别使用以下命令

    @Tag(name=“Tag的名称”,description=“Tag的说明”)
    

    @标记(值={
    //多个以逗号分隔的@Tag注释,
    })
    
    或者在方法级别执行以下操作

    @操作(标记={“标记1”,“标记2”})
    
    记住:

    • 类级别的
      @Tag
      将覆盖特定类的操作级别标记
    • 类级别标记只能有1个值
    因此,如果您需要一个控制器具有多个标记,则应将其隔离在不同的类中,该类在类级别上没有
    @Tag

    不支持预测

    我从未使用过投影。我通常使用
    @JsonIgnore
    来消除那些不需要的,但这取决于您的用例

    如果要隐藏架构中的内容,请使用以下方法

    @Schema(description=“演示隐藏属性的示例POJO”)
    课例{
    ...
    
    @模式(hidden=true)/Springdoc

    我无法更改标记名和描述(@tag对repos不起作用)

    同一回购协议有3个标签

    您可以自定义它。在控制器类级别使用以下命令

    @Tag(name=“Tag的名称”,description=“Tag的说明”)
    

    @标记(值={
    //多个以逗号分隔的@Tag注释,
    })
    
    或者在方法级别执行以下操作

    @操作(标记={“标记1”,“标记2”})
    
    记住:

    • 类级别的
      @Tag
      将覆盖特定类的操作级别标记
    • 类级别标记只能有1个值
    因此,如果您需要一个控制器具有多个标记,则应将其隔离在不同的类中,该类在类级别上没有
    @Tag

    不支持预测

    我从未使用过投影。我通常使用
    @JsonIgnore
    来消除不需要的投影,但这取决于您的用例

    如果要隐藏架构中的内容,请使用以下方法

    @Schema(description=“演示隐藏属性的示例POJO”)
    课例{
    ...
    
    @架构(hidden=true)//谢谢您的回答,但我使用Spring Data REST。您的解决方案适用于普通的Spring MVC应用程序库进行更新。我还没有使用Spring Data REST,所以没有意识到。:)
    @Tags
    工作,解决了
    -search controller
    的问题。另请参阅,谢谢您的回答,但我使用了Spring Data REST。您的解决方案适用于普通的Spring MVC应用程序。我还没有使用Spring Data REST,因此不知道它。:
    @Tags
    工作,并解决了
    -search controller
    的问题。另请参阅