1. 程式人生 > 其它 >Spring Boot:整合Swagger

Spring Boot:整合Swagger

1、先建立一個SpringBoot專案

其中application.properties檔案中是建立專案時自動新增的配置。

2、新增相關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>

3、新增配置類

package com.xffy.order.common.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration @EnableSwagger2
public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2).enable(true) .apiInfo(apiInfo()); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .version("3.0.0") .build(); } }

4、新增控制器(我這裡是呼叫service層之後查詢了資料庫,也可以在controller層直接做假資料)

package com.xffy.order.controller;

import com.xffy.order.common.resp.CommonResp;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import com.xffy.order.service.IEmployeeService;
import com.xffy.order.model.Employee;

import javax.annotation.Resource;

import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/employee")
@Api(value = "僱員資訊控制器", tags = { "僱員資訊介面" })
public class EmployeeController extends BaseController
{

    @Resource
    private IEmployeeService employeeService;

    @GetMapping("/page.do")
    @ApiOperation(value = "分頁查詢")
    public CommonResp list(@RequestParam Integer page, @RequestParam Integer pageCount)
    {
        return CommonResp.success(employeeService.selectListByPage(page, pageCount));
    }

    @PostMapping("/add.do")
    @ApiOperation(value = "新增")
    @ApiImplicitParam(name = "employee", value = "employee物件", required = true)
    public CommonResp add(@RequestBody Employee employee)
    {
        return toAjaxBoolean(employeeService.save(employee));
    }

    @DeleteMapping("/delete.do")
    @ApiOperation(value = "刪除")
    @ApiImplicitParam(name = "id", value = "主鍵ID", required = true)
    public CommonResp delete(Long id)
    {
        return toAjaxBoolean(employeeService.removeById(id));
    }

    @PutMapping("/edit.do")
    @ApiOperation(value = "修改")
    @ApiImplicitParam(name = "employee", value = "employee物件", required = true)
    public CommonResp edit(@RequestBody Employee employee)
    {
        return toAjaxBoolean(employeeService.updateById(employee));
    }

    @GetMapping("/list.do")
    @ApiOperation(value = "根據ID查詢")
    @ApiImplicitParam(name = "id", value = "主鍵ID", required = true)
    public CommonResp selectEmployeeById(int id)
    {
        return CommonResp.success(employeeService.getById(id));
    }

}

5、本地執行之後訪問http://localhost:8080/swagger-ui.html