首先在pom.xml文件加入依赖的包:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
</dependency>
实体类:
package com.example.demo3.model;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
@Data
@ApiModel("用户")
public class User3 {
private int id;
@NotEmpty(message = "用户名不能为空")
private String username;
@NotEmpty(message = "密码不能为空 ")
private String password;
}
控制器:
package com.example.demo3.controller;
import com.example.demo3.model.User3;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
@Api(value="userInterface",tags={"用户的一些操作接口"})
@RestController
public class UserCotroller {
@ApiOperation("用户注册-添加用户")
@PostMapping(value="/api/{username}/{password}/user")
public Map register(
@ApiParam(value = "用户注册时需要填写的用户名",required = true)
@PathVariable(value="username")String username,
@ApiParam(value = "用户设置的登陆密码", required = true)
@PathVariable(value="password")String password){
User3 user = new User3();
user.setUsername(username);
user.setPassword(password);
Map<String,Object> map = new HashMap<String,Object>();
if(user.getUsername()!=null){
map.put("code",200);
map.put("info","注册成功");
}
return map;
}
@ApiOperation("获取用户信息")
@GetMapping(value="/api/{username}/{password}/user")
public Map login(@ApiParam(value="登陆时需填写的用户名",required = true)
@PathVariable(value="username")String username,
@ApiParam(value="登陆时的密码",required = true)
@PathVariable(value="password")String password){
Map<String,Object> map = new HashMap<>();
if(username.equals("zs")&&password.equals("123456")){
map.put("code",200);
map.put("info","登陆成功");
}else{
map.put("code",401);
map.put("info","用户名或密码错误");
}
return map;
}
@ApiOperation("删除用户操作")
@DeleteMapping(value="/api/{id}/user")
public Map deletUser(@ApiParam(value="根据id做删除操作",required = true)
@PathVariable(value="id")int id){
Map<String,Object> map = new HashMap<>();
if(id!=0){
map.put("code",200);
map.put("info","删除成功");
}
return map;
}
@ApiOperation("修改用户信息")
@PatchMapping(value="/api/{id}/{username}/user")
public Map upadateUser(@ApiParam(value="参照依据id",required = true)
@PathVariable(value = "id")int id,
@ApiParam(value="修改用户名",required = true)
@PathVariable(value = "username")String username){
Map<String,Object> map = new HashMap<>();
User3 user=new User3();
user.setUsername(username);
if(username.equals(user.getUsername())){
map.put("code",200);
map.put("info","修改成功");
}
return map;
}
}
测试访问地址:http://localhost:8080/swagger-ui.html#/
效果图: