欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springboot中使用swagger2构建restful接口文档

程序员文章站 2022-07-02 21:05:55
...

最近几年互联网项目、移动应用越来越多,不同于之前的企业内部应用,该类项目通常就是好几个应用互相调用,我们一般会使用word或者excel来记录接口的相应描述,但是这样会有一些问题,比如更新困难,不易管理。

Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件,它既能解决帮我们自动生成接口文档,并且还能在线调试。

记录下在springboot中swagger的使用

1、添加依赖

	        <dependency>
		    <groupId>io.springfox</groupId>
		    <artifactId>springfox-swagger2</artifactId>
		    <version>2.6.1</version>
		</dependency>
		<dependency>
		    <groupId>io.springfox</groupId>
		    <artifactId>springfox-swagger-ui</artifactId>
		    <version>2.6.1</version>
		</dependency>

2、编写配置类

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class Swagger2 {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        Contact contact=new Contact("meepoguan","http://blog.csdn.net/u011890101","邮箱地址");
        return new ApiInfoBuilder()
                .title("接口文档")
                .description("测试接口")
                .termsOfServiceUrl("测试接口")
                .contact(contact)
                .version("1.0")
                .build();
    }
}

3、编写实体类

public class User implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 3221700752972709820L;

	private int id;
	
	private String name;
	
	private int age;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public User(int id, String name, int age) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
	}
	
	
}

4、编写restful接口

@RestController
@RequestMapping("users")
public class UserController {

	@ApiOperation(value="获取用户列表")
	@GetMapping
	public String list() {
		//TODO 查询操作
		return "";
	}
	
	@ApiOperation(value="新增用户",notes="填写对象创建用户")
	@ApiImplicitParam(name="user",value="实体user",required=true,dataType="User")
	@PostMapping
	public String saveUser(@RequestBody User user) {
		//TODO 新增操作
		return "";
	}
	
	@ApiOperation(value="更新用户",notes="根据id指定对象,并根据传来的对象进行更新")
	@ApiImplicitParams({
		@ApiImplicitParam(name="id",value="用户id",required=true,dataType="String"),
		@ApiImplicitParam(name="user",value="用户实体对象",required=true,dataType="User")
	})
	@PutMapping(value="{id}")
	public String updateuser(@PathVariable String id) {
		//TODO 更新用户
		return "";
	}
	
	@ApiOperation(value="删除用户")
	@ApiImplicitParam(name="id",value="用户id",required=true,dataType="String")
	@DeleteMapping(value="id")
	public String deleteUser(@PathVariable String id) {
		//TODO 删除用户
		return "";
	}
}

运行项目,输入http://localhost:8080/swagger-ui.html

springboot中使用swagger2构建restful接口文档

如果能看到该页面,则证明整合成功了。

相关标签: springboot swagger2