文章目录
SpringBoot 整合 Swagger
前言:作为一名后端程序员,我们写出来的接口,返回出的 JSON 数据,最后都要交给 前端程序员 ,让他们写出漂亮的页面来展示我们提高的数据。这一点,作为后端开发人员来说,把自己的意图告诉前端工程师 这一过程显得极为重要,如何才能写出漂亮的帮助文档展示给前端工程师呢~ 这很重要!!
1、先睹为快
我们可以清楚的理解,有一个控制类 hellocontroller 控制类,里面只有一个接口 student/login 接口,接口里需要传入两个参数,第一个必填参数 name,第二个必填参数 password。 我们可以填入字段, 进行 try it out!
填入 zs 、123
返回 ok 状态码为200 说明成功了!
2、自己尝试
2.1、创建 SpringBoot 项目
maven 添加两个坐标,这是 swagger 的依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
2.2、创建一个 Swagger 类
// 懒人请复制
@Component
@EnableSwagger2
public class Swagger {
@Bean
public Docket docket(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.xiang.controller"))
.paths(PathSelectors.any())
.build();
}
public ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("这个界面好看吧")
.description("用restful风格写接口")
.termsOfServiceUrl("")
.version("1.0")
.build();
}
}
2.3、写控制层
package com.xiang.controller // 包一定要在 swagger 指定的位置
//懒人请复制
@RestController
@RequestMapping("student")
@Api(value = "学生类")
public class HelloController {
@GetMapping("/login")
@PostMapping(value = "login")
@ApiOperation(value = "登录",notes = "验证用户名密码")
@ApiImplicitParams(
{@ApiImplicitParam(paramType = "query",name = "name",value = "账号",required = true,dataType = "String"),
@ApiImplicitParam(paramType = "query",name = "password",value = "密码",required = true,dataType = "String")}
)
@ApiResponses({
@ApiResponse(code = 200,message = "成功 ",response = String.class),
@ApiResponse(code = 400,message = "参数没填好",response = String.class),
})
public String login(String name,String password){
if (name.equals("zs")&&password.equals("123")){
return "ok";
}else{
return "no";
}
}
}
2.4、启动 SpringBoot
输入
http://localhost:8080/swagger-ui.html
进入
鼓掌 !!!!