在 Springdoc 中使用 useReturnTypeSchema=true 时缺少 MediaType

问题描述 投票:0回答:1

我正在使用

Spring
编写一些 Web 服务,使用
springdoc
创建漂亮的 Swagger 端点文档。

我的控制器端点方法有这个:

responses = {
    @ApiResponse(
        responseCode = "200",
        description = "Found",
        useReturnTypeSchema = true // <- THIS DOES NOT DEFINE A MEDIA TYPE
    ),
    <...>

这使得自动检测返回类型(即使是泛型类型)并为其定义模式变得非常容易。但使用此选项时没有媒体类型定义。我期待

application/json

我尝试搜索文档,但找不到任何相关内容。

有谁知道如何获取媒体类型并使用自动模式检测?

正常使用时

@Content(mediaType = "application/json", schema = @Schema(implementation = ErrorResponse.class))}

我得到了正确的媒体类型:

环境信息:

  • 春季启动:
    'org.springframework.boot:spring-boot-starter-web:3.0.1'
  • Swagger 文档:
    org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2
  • Java:
    17.0.2
spring spring-boot swagger-ui openapi springdoc
1个回答
0
投票

我自己发现的:

@GetMapping(value = "/{assetId}/shifts", produces = MediaType.APPLICATION_JSON_VALUE)

通过在映射中定义

produces
,此媒体类型也在 swagger 文档中使用。

© www.soinside.com 2019 - 2024. All rights reserved.