我有一个有两个端点的控制器类。
@RestController
@RequestMapping
public class TestController {
@RequestMapping(
value= "/test",
method = RequestMethod.GET)
@ResponseBody
public String getTest() {
return "test without params";
}
@RequestMapping(
value= "/test",
params = {"param"},
method = RequestMethod.GET)
@ResponseBody
public String getTest(@PathParam("param") int param) {
return "test with param";
}
}
一个有参数,另一个没有,两个都能工作。
如果我使用curl或web浏览器访问端点
返回
不带参数的
检验
和
返回
带参数的
测试
但是swagger ui只显示没有参数的ui。
如果我将请求映射中的值更改为
@RequestMapping(
value= "/testbyparam",
params = {"param"},
method = RequestMethod.GET)
Swagger UI正确地显示了两个端点,但我不希望根据swagger将显示或不显示的内容来定义我的端点。
有没有办法让swagger ui正确显示具有匹配值但参数不同的端点?
编辑以澄清:
端点工作得很好;/test和/test?param=1都工作得很好,问题是swagger-ui不会显示它们。
我希望swagger ui能够显示我定义的端点,但是如果它不能,那么我将不得不忍受swagger-ui缺少一些端点。
参照编辑:
在这里回答的人:Proper REST formatted URL with date ranges
显式声明不使用斜杠分隔查询字符串
他们还说“查询字符串前不应该有斜杠。”
https://stackoverflow.com/questions/51862871
复制相似问题