项目地址:git@gitee.com:dandan77/swagger.git
-
前后不分
-
前后分离的优点
-
Swagger要解决的问题
-
-
准备工作
创建springboot项目
创建JsonResult
创建UserController
http://localhost:8080/api/v1/user/login
6. 添加依赖
<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.9.2的下载失败,换成别的
7. 生成接口首页
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createDocket(){
ApiInfoBuilder apiInfoBuilder=new ApiInfoBuilder();
ApiInfo apiInfo=apiInfoBuilder.title("项目接口文档").build();
Docket docket=new Docket(DocumentationType.SWAGGER_2);
docket.apiInfo(apiInfo);
docket.select().apis(RequestHandlerSelectors.any());
return docket;
}
}
[http://localhost:8080/swagger-ui.html]
- 生成controller的接口信息
@Api(value = "UserController",description = "用户接口")
public class UserController {
}
- 为方法添加注释
@RequestMapping("/login")
@ApiOperation(value = "登录",notes = "接收username,password,进行登录")
public JsonResult login(String username, String password) {
JsonResult jsonResult = new JsonResult(0, "success", null);
return jsonResult;
}
- 通过实体类接收数据
创建pojo.User
public class User {
Integer id;
String username;
String password;
添加无参构造方法,
添加有参构造方法
添加set(),get()
}
@RequestMapping("/register")
@ApiOperation(notes = "注册",value = "register")
public JsonResult register(User user) {
JsonResult jsonResult = new JsonResult(0, "success", null);
return jsonResult;
}
查看接口文档
- 只显示Post或Get
@RequestMapping("/register")
@ApiOperation(notes = "接收username,password",value = "注册",httpMethod = "POST")
public JsonResult register(User user) {
JsonResult jsonResult = new JsonResult(0, "success", null);
return jsonResult;
}
- 测试接口
@RequestMapping("/register")
@ApiOperation(notes = "接收username,password", value = "注册", httpMethod = "POST")
public JsonResult register(User user) {
if ("admin".equals(user.getUsername()) && "admin".equals(user.getPassword())) {
JsonResult jsonResult = new JsonResult(500, "admin已经存在", null);
return jsonResult;
}
user.setId(90);
JsonResult jsonResult = new JsonResult(0, "success", user);
return jsonResult;
}
- 给参数加描述
@RequestMapping("/register")
@ApiOperation(notes = "接收username,password,id不用输入", value = "注册", httpMethod = "POST")
@ApiImplicitParam(name = "id",value = "不用输入")
public JsonResult register(User user) {
if ("admin".equals(user.getUsername()) && "admin".equals(user.getPassword())) {
JsonResult jsonResult = new JsonResult(500, "admin已经存在", null);
return jsonResult;
}
user.setId(90);
JsonResult jsonResult = new JsonResult(0, "success", user);
return jsonResult;
}
blog.csdnimg.cn/f02e8538255a425d8abd8deb71e912ac.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yuk6Ieq55yB,size_20,color_FFFFFF,t_70,g_se,x_16)