首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让Swagger UI显示类似的Spring Boot REST端点?

如何让Swagger UI显示类似的Spring Boot REST端点?
EN

Stack Overflow用户
提问于 2018-08-16 00:40:02
回答 4查看 2.1K关注 0票数 4

我有一个有两个端点的控制器类。

代码语言:javascript
复制
@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浏览器访问端点

http://localhost:8081/test

返回

不带参数的

检验

http://localhost:8081/test?param=1

返回

带参数的

测试

但是swagger ui只显示没有参数的ui。

如果我将请求映射中的值更改为

代码语言:javascript
复制
  @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

显式声明不使用斜杠分隔查询字符串

他们还说“查询字符串前不应该有斜杠。”

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51862871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档