You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Swagger的@Operation中定义多个路径参数?

解决@Operation中定义多个路径参数的问题

你只需要把parameters属性改成数组形式,用大括号{}包裹多个@Parameter注解即可——因为@Operation的parameters字段本身就是Parameter[]类型,支持同时配置多个参数。

完整的代码示例如下:

@PutMapping("/test/{test1}/{test2}")
@Operation(
        parameters = {
                @Parameter(name = "test1", description = "test1的描述信息"),
                @Parameter(name = "test2", description = "test2的描述信息")
        }
)
public ResponseEntity<String> updateTest(@PathVariable String test1, @PathVariable String test2) {
    // 接口逻辑实现
    return ResponseEntity.ok("success");
}

另外还有一种更贴近代码逻辑的写法:直接在@PathVariable注解上附加@Parameter,效果完全一致,也能在Swagger文档中正确展示参数信息:

@PutMapping("/test/{test1}/{test2}")
@Operation
public ResponseEntity<String> updateTest(
        @Parameter(name = "test1", description = "test1的描述信息") @PathVariable String test1,
        @Parameter(name = "test2", description = "test2的描述信息") @PathVariable String test2
) {
    // 接口逻辑实现
    return ResponseEntity.ok("success");
}

需要注意的是:@Parameter的name值必须和路径中{test1}、{test2}的变量名完全匹配,否则Swagger无法关联路径参数与描述信息。

内容的提问来源于stack exchange,提问作者Ioanaa 98

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 04:50:45