介面生成工具swagger初識
阿新 • • 發佈:2018-11-12
首先在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#/
效果圖: