1. 程式人生 > >介面生成工具swagger初識

介面生成工具swagger初識

首先在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#/

效果圖: