在Swagger上看不到根API端点

时间:2019-01-29 05:15:47

标签: java spring spring-boot

@RestController
@RequestMapping("/api")
public class ApplicationController {


    @Autowired
    private DBInitializer dbInitializer;

    @Autowired
    ApplicationService service;

    @GetMapping
    public List<ApplicationEntity> getAllNames() {
        return dbInitializer.findAll();
    }

    @GetMapping(value = "/config")
    public String getProperties() {
        return service.getLinks();
    }

}

那是我的控制器。在swagger-ui中,我无法查看

  

localhost:8181 / api

但是,我可以查看

  

localhost:8181 / api / config

谁能帮助我获得swagger ui的基本终点。

谢谢!

添加了编辑-Swagger配置

swagger:
    title: DemoApp API
    description: DemoApp API documentation
    version: ${info.build.version:0.0.1}
    termsOfServiceUrl:
    contact:
    license:
    licenseUrl:
    includePattern: "/.*"

2 个答案:

答案 0 :(得分:1)

尝试在映射值中辅助空字符串,如下所示:

@GetMapping(value="")
public List<ApplicationEntity> getAllNames() {
  return dbInitializer.findAll();
}

答案 1 :(得分:0)

在您的代码中,根映射似乎没有任何功能,即/api。因此,您可能会遇到以下错误。

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Tue Jan 29 05:20:59 GMT 2019
There was an unexpected error (type=Not Found, status=404).
No message available

那是因为您的根目录上没有提供任何功能。

如果您希望在调用root方法时看到一些东西,可以尝试声明一个与以下方法具有相同映射的方法

@GetMapping(value = "")
public String getRoot() {
    // Your logic
}

那样,当您调用localhost:8181/api时,将调用此方法。