当前位置: 首页 > 知识库问答 >
问题:

如何通过带有@注释的Open Api 3.0来描述我的对象的模式?

钱经业
2023-03-14

可以为此使用注释吗?我不知道如何使用Yaml。

例:

 @Operation(summary = "Get page of top by rating articles by title")
    @ApiResponses(value = {
            @ApiResponse(responseCode = "200 successful operation",
                    content = @Content(
                            mediaType = MediaType.APPLICATION_JSON_VALUE,
                            schema = @Schema(???)))
    })
     @GetMapping(value = {"/articles/topByRating"})
     @JsonView({JsonViews.Short.class})
     @ResponseStatus(HttpStatus.OK)
     public ItemsDto<Article> getArticlesTopByRating(@RequestParam int numberPage, @RequestParam int sizePage) {
        return articleCrud.getTopByRating(numberPage, sizePage);
    }

ItemsDto:

public class ItemsDto<E> {
    Long total = 0L;
    List<E> items;
}

文章:

public class Article{
    private Author author;
    private String title;
    private String body;
}

https://swagger.io/docs/specification/data-models/dictionaries/自由形式对象"如果字典值可以是任何类型(也称为自由形式对象),请使用addtionalProperties: true:"

1.     type: object
2.     additionalProperties: true

我将尝试在@Schema注释中使用'ref=myfile.yaml'属性

共有1个答案

锺离自明
2023-03-14

对象通过springdoc-openapi自动转换为Schema。

请注意,在您的DTO上,您还可以添加@Schema注释来自定义不同的字段。

 类似资料:
  • 我有一个REST服务要记录,其中一些服务接受简单的数组,比如: 我该如何在“大摇大摆的模特”一节中描述这一点?我只能像这样创建“命名数组” 但它描述的数据如下:

  • 一般来说,一个描述器是一个有“绑定行为”的对象属性 (object attribute),它的访问控制被描述器协议方法重写。 这些方法是 __get__(), __set__() , 和 __delete__() 。 有这些方法的对象叫做描述器。 默认对属性的访问控制是从对象的字典里面 (__dict__) 中获取 (get) , 设置 (set) 和删除 (delete) 。 举例来说, a.x

  • 我有一个字段有更大的描述。 在swagger-ui页面中,描述是内联的。在对模型进行文档化时,有什么方法可以让“\n”起作用吗?

  • 我有一门课,比如下面的测试 有一个C1班 我给这门课打电话如下 当我调试时,我将i1设置为null。 请告知我做错了什么 注意:。我必须在xyx()中使用类Test,因为它是伪代码,并且xyx()中有很多代码

  • 问题内容: 是否有可能在JSR 303-Jave Bean Validation中验证对象的集合,而该集合本身没有任何注释,但包含在其中的元素呢? 例如,由于第二个人的名字为空,这是否可能导致约束冲突: 问题答案: 是的,只需添加到集合中即可。 这是《 Hibernate验证程序参考》中的示例。 这是标准的JSR-303行为。参见规范的 3.1.3节。

  • 问题内容: 是否可以访问字段值,该字段名在注释中描述,该注释在类中注释了另一个字段。 例如: 注解: 现在,是否可以从ConstraintValidator实现类中的User类访问字段密码? 编辑: 我写了这样的东西: 现在的问题是如何获取用户对象实例并比较字段值? 问题答案: 您或者需要编写一个类级别的约束,以便在其中将完整的 User 实例传递给 isValid 调用,或者可以使用类似 @Sc