【问题标题】:Hide HttpServletRequest request in Swagger OpenAPI 3在 Swagger OpenAPI 3 中隐藏 HttpServletRequest 请求
【发布时间】:2023-02-20 17:49:25
【问题描述】:

我目前正在使用 Spring Boot 3.0.2 和 Swagger OpenAPI 3。但是 SwaggerUI 一直在我的控制器中将一个参数标记为必需的请求参数。

在我的 pom.xml

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

在我的 RestController.java 中

@GetMapping("/endpoint")
    public ResponseEntity<Object> Hello(HttpServletRequest request, 
@RequestParam String paramOne){}

在我的 swagger UI 中,有两个必需参数:paramOne 和 request(我不想成为其中的一部分)。如何隐藏或将其标记为不是 URL 参数?

【问题讨论】:

    标签: java spring-boot swagger-ui


    【解决方案1】:

    @Parameter(hidden = true)标记HttpServletRequest参数。您的代码应如下所示:

    @GetMapping("/endpoint")
        public ResponseEntity<Object> Hello(@Parameter(hidden = true) HttpServletRequest request, 
    @RequestParam String paramOne){}
    

    【讨论】: