在进行springboot整合swagger做一个小测试的时候,发生了一个奇怪的小问题
请往下看:
一顿操作猛如虎,从百度上copy一段代码进行了配置:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.pathMapping("/")
.select()
.apis(RequestHandlerSelectors.basePackage("com.nvn.controller"))
.paths(PathSelectors.any())
.build().apiInfo(new ApiInfoBuilder()
.title("SpringBoot整合Swagger")
.description("SpringBoot整合Swagger,详细信息......")
.version("9.0")
.contact(new Contact("啊啊啊啊","blog.csdn.net","[email protected]"))
.license("The Apache License")
.licenseUrl("http://www.baidu.com")
.build());
}
}
然后我写了个简单的demo,如下:
@RestController
@Api(tags = "用户登录")
@RequestMapping("login/")
public class LoginController {
@PostMapping("login")
@ApiOperation(value = "登录接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "userName", value = "用户名", defaultValue = "李四"),
@ApiImplicitParam(name = "password", value = "密码", defaultValue = "*****", required = true)
})
public String login(String userName, String password) {
return null;
}
正常情况下应该是会显示我登录接口的,但是我访问url后不知道啥情况,登录接口的文档就是出不来,只是下面的情况:
我的登录接口说明没有出来。。。
奇怪了,很简单的一个东西,最后找了半天,去看swagger的配置,发现有个地方
apis(RequestHandlerSelectors.basePackage("com.nvn.controller"))是这么写的,我感觉这个basepackage,类似于componentScan中的basepackage,应该是扫描的包的路径,于是试试改改改成我自己的包,结果真好用了。。
如图:
希望遇到此等的问题注意下。
不要一股脑的复制粘贴。