在 Swagger UI 的 Spring 界面中隐藏内部参数

Hide internal parameters from Spring interface for Swagger UI

我有以下端点:

@PostMapping(value = "/home", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public Mono<String> getData(ServerWebExchange exchange) { return Mono.empty(); }

ServerWebExchange 对象在 org.springframework.web.server 中实现。 当我 运行 它时,在 Swagger 中显示所有 getters 对象。虽然我只需要正文(我想隐藏请求和响应对象)。

尝试使用

.ignoredParameterTypes(Principal.class, ServerHttpRequest.class, ServerHttpResponse.class)

但是,没有任何效果。 有办法隐藏这些吗?

找到的解决方案:

  1. 为 swagger 禁用 SeverWebExchange 接口
  2. 配置要求输入。

`

@PostMapping(value = "/home", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
@ApiImplicitParams({
        @ApiImplicitParam(name = "Body Params", paramType = "body")
})
public Mono<String> getData(
        @ApiIgnore ServerWebExchange exchange
) {
    return Mono.empty();
}