java - Swagger UI 不显示所有 header 值

标签 java spring spring-boot swagger swagger-ui

我有 Spring Boot REST Controller ,其 header 可以有超过 1 个值:

@RestController
@RequestMapping(value = "/example", headers = {"version=v1", "version=v2"})
@Api(value = "Example API")
public class ExampleController {

并使用Springfox实现了Swagger。当我加载 Swagger UI 时,我可以从版本标题列表中看到并仅选择 v1 选项。如何在 Swagger UI 中显示要选择的所有 header 值?如何更改 Swagger UI 列表中的默认 header 值?

最佳答案

在 Controller 方法上使用 ApiImplicitParams:

@ApiImplicitParams({
    @ApiImplicitParam(name = "version", allowableValues="v1,v2", required = false, dataType = "String", paramType = "header")
})

allowableValues :

  1. To set a list of values, provide a comma-separated list. For example: first, second, third.
  2. To set a range of values, start the value with "range", and surrounding by square brackets include the minimum and maximum values, or round brackets for exclusive minimum and maximum values. For example: range[1, 5], range(1, 5), range[1, 5).
  3. To set a minimum/maximum value, use the same format for range but use "infinity" or "-infinity" as the second value. For example, range[1, infinity] means the minimum allowable value of this parameter is 1.

关于java - Swagger UI 不显示所有 header 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56531317/

相关文章:

java - Thread.exit() 行 : not Available? ?编辑源查找路径?

java - Spring应用程序加载两次

java - 数据初始化在 Spring Boot Hibernate 应用程序中不起作用

java - 在两个应用程序之间共享 Spring Boot YAML 配置

c# - Android 中的 HTTP post 问题

java - jsp sql连接socket错误mysql server 2008R2

java - 如何更改 gui 中字符串的字体,然后将其恢复正常

java - 为什么 Spring Security 身份验证会导致 CORS 错误

java - 具有复杂键的 Spring Data Redis 存储库

java - 如何注入(inject)用户名(不是身份验证)?