SpringBoot基于Swagger2构建API文档过程解析

网友投稿 213 2023-06-03

SpringBoot基于Swagger2构建API文档过程解析

一、添加依赖

io.springfox

springfox-swagger2

2.7.0

io.springfox

springfox-swagger-ui

2.7.0

二、创建Swagger2配置类

package com.offcn.config;

import org.springframework.context.annotation.Configuration;

import springfox.documentation.builders.ApiInfoBuilder;

import sprihttp://ngfox.documentation.builders.PathSelectors;

import springfox.documentation.builders.RequestHandlerSelectors;

import springfox.documentation.service.ApiInfo;

import springfox.documentation.spi.DocumentationType;

import springfox.documentation.spring.web.plugins.Docket;

import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration//表示该类为一个配置类,相当于spring中的xml配置文件

@EnableSwagger2 //开启在线文档

public class SwaggerConfig {

//1.声明 api 文档的属性

private ApiInfo apiInfo() {

return new ApiInfoBuilder()

.title("Spring Boot中使用Swagger2构建RESTful APIs")

.description("优就业")

.termsOfServiceUrl("http://ujiuye.com/")

.contact("小刘同学")

.version("1.0")

.build();

}

//配置核心配置信息

public Docket createRestApi() {

return new Docket(DocumentationType.SWAGGER_2)

.apiInfo(apiInfo())

.select()

.apis(RequestHandlerSelectors.basePackage("cpWQfQmdBClom.offcn.controller"))

.paths(PathSelectors.any())

.build();

}

}

三、修改Controller 增加文档注释

通过@ApiOperation注解来给API增加说明

通过@ApiImplicitParams@ApiImplicitParam注解来给参数增加说明

package com.offcn.controller;

import com.offcn.dao.UserDao;

import com.offcn.entity.User;

import io.swagger.annotations.ApiImplicitParam;

import io.swagger.annotations.ApiImplicitParams;

import io.swagger.annotations.ApiOperation;

import org.springframework.beans.factory.annotation.Autowired;

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

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

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

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

@RequestMapping("/rest")

@RestController

public class RestFulController {

@Autowired

private UserDao userDao;

@GetMapping("/getUserById")

@ApiOperation(value="查找指定id用户信息", notes="根据id查找用户信息")

@ApiImplicitParams({

@ApiImplicitParam(name = "id", value = "用户ID", required = true, datahttp://Type = "Integer"),

})

public User getUserById(Integer id){

User user = userDao.getOne(id);

return user;

}

@DeleteMapping("/del")

@ApiOperation(value="删除指定id用户信息", notes="根据id删除用户信息")

@ApiImplicitParams({

@ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Integer"),

})

public String delUserById(Integer id){

userDao.deleteById(id);

return "success";

}

}

四、查看Swagger2文档

重启项目

访问:

http://localhost:8080/swagger-ui.html

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring计划任务用法实例详解
下一篇:Jenkins Host key verification failed问题解决
相关文章

 发表评论

暂时没有评论,来抢沙发吧~