Spring Boot整合Swagger优雅的生成Restful风格的API

一、自动生成API工具

1、Swagger:是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。支持多种语言,如:Scala、Java、Ruby、PHP、JavaScript等;

2、i /o docs:一种Restful风格的交互式文档系统;

3、Dexy:一款非常灵活的文档工具;

4、自己编写插件生成Api文档。

二、在SpringBoot中使用Swagger

1、引入依赖

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

2、新建Swagger配置类

public class SwaggerConfig {

	
	@Bean
	public Docket createRestApi() {
		return new Docket(DocumentationType.SWAGGER_2)
				.apiInfo(apiInfo())
				.select()
				.apis(RequestHandlerSelectors.basePackage("com.william.springboot.springbootshiro.controller"))//扫描的包名
				.paths(PathSelectors.any())
				.build();
	}
	
	private ApiInfo apiInfo() {
		return new ApiInfoBuilder()
				.title("springboot利用swagger生成api文档")
				.description("简单优雅的restfun风格,自动生成api文档")
				.termsOfServiceUrl("http://localhost:8080/swagger-ui.html")
				.version("1.0")
				.build();
	}
}

3、编写接口入口

@Api(value="用户相关接口API",tags="用户接口")
@RestController
@RequestMapping("/user")
public class UserInfoController {

	
	@ApiOperation(value = "查询用户根据ID", notes = "查询用户",produces = MediaType.APPLICATION_JSON_VALUE)
	@ApiImplicitParam(name = "userid", value = "userid", required = true,paramType="path", dataType = "String")
	@RequestMapping(value="/get/{userid}",method=RequestMethod.GET)
	public String getUserById(@PathVariable("userid") String userid) {
		System.out.println("-----"+userid);
		/**	
		 * dosomework
		 */
		System.out.println("---"+userid);
		return "William";
	}
	
	@ApiOperation(value = "新增用户", notes = "保存")
	@ApiImplicitParam(name = "userInfo", value = "userInfo", required = true, dataType = "UserInfo")
	@PostMapping("/save")
	public String addUser(@RequestBody UserInfo userInfo) {
		
		/**
		 * dosomework
		 */
		return "success";
	}
	
	
	
}

4、访问API自动文档

地址:项目路径/swagger-ui.html#/


至此,你的项目就成功集成了Swagger,大大方便了自己写API文档的劳动量,方便了前端调用接口联调。








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值