SpringBoot搭建Swagger

   如何在大公司中使用前后端分离时,后台人员需要写接口文档,如果项目搭建过程,搭建了Swagger这个插件,就很方便,不用自己编写接口文档,不用自己用Postman工具去浪费时间,接口更新后不需要再重新写接口文档SpringBoot.

SpringBoot整合Swagger基本步骤

1. 在pom配置文件中加入依赖

    1)如果是SpringBoot项目,就直接加入下面这个配置

  <!-- swagger-spring-boot -->
		 <dependency>
			<groupId>com.spring4all</groupId>
			<artifactId>swagger-spring-boot-starter</artifactId>
			<version>1.7.0.RELEASE</version>
		 </dependency>

   2)如何不是SpringBoot项目,加入下面依赖可以

<!-- Swagger接口API配置 -->
			<dependency>
				<groupId>io.springfox</groupId>
				<artifactId>springfox-swagger2</artifactId>
				<version>2.8.0</version>
			</dependency>

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

2.编写Swagger配置类 

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.spi.DocumentationType;
	import springfox.documentation.spring.web.plugins.Docket;

/**
 * @author zh
 * @ClassName cn.saytime.Swgger2
 * @Description
 * @date 2017-07-10 22:12:31
 */
@Configuration
public class Swagger2 {

	@Bean
	public Docket createRestApi() {
		return new Docket(DocumentationType.SWAGGER_2)
				.apiInfo(apiInfo())
				.select()
				.apis(RequestHandlerSelectors.basePackage("cn.saytime.web"))
     //这个就是自己的控制层,所有的接口包,来扫描包
				.paths(PathSelectors.any())
				.build();
	}
	
	private ApiInfo apiInfo() {
		return new ApiInfoBuilder()
				.title("springboot利用swagger构建api文档")
				.description("简单优雅的restfun风格,http://blog.csdn.net/saytime")
				.termsOfServiceUrl("http://blog.csdn.net/saytime")
				.version("1.0")
				.build();
	}
}

3. 在启动主程序中加入 @EnableSwagger2注解

@SpringBootApplication
@MapperScan("com.zhongjin.annualmeeting.dao")
@ServletComponentScan("com.zhongjin.annualmeeting.filter")
@ComponentScan(basePackages = { "com.zhongjin.annualmeeting" })
@EnableSwagger2
public class AnnualmeetingApplication {

	public static void main(String[] args) {
		SpringApplication.run(AnnualmeetingApplication.class, args);
	}

}

 

4.访问swagger.ui页面,查看文档API

在浏览器中输入: http:// 自己项目地址/ swagger-ui.html,就可以查看文档

举个栗子:输入: http://localhost:8050/annualmeeting/swagger-ui.html#/

结果视图:这就是自己项目下所有的接口,在这个上面就可以测试自己的接口

 

 

 

如果想让自己的接口说明更加清楚,通过这些注释在control层进行添加就可以

Swagger使用的注解及其说明:

@Api:用在类上,说明该类的作用。一般用在control接口类上,进行接口分分组

@ApiOperation:注解来给API增加方法说明。

@ApiImplicitParams : 用在方法上包含一组参数说明。

@ApiImplicitParam:用来注解来给方法入参增加说明。

@ApiResponses:用于表示一组响应

@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息

    l   code:数字,例如400

    l   message:信息,例如"请求参数没填好"

    l   response:抛出异常的类   

@ApiModel:描述一个Model的信息(一般用在请求参数无法使用@ApiImplicitParam注解进行描述的时候)

    l   @ApiModelProperty:描述一个model的属性

 

注意:@ApiImplicitParam的参数说明:

paramType:指定参数放在哪个地方

header:请求参数放置于Request Header,使用@RequestHeader获取

query:请求参数放置于请求地址,使用@RequestParam获取

path:(用于restful接口)-->请求参数的获取:@PathVariable

body:(不常用)

form(不常用)

name:参数名

 

dataType:参数类型

 

required:参数是否必须传

true | false

value:说明参数的意思

 

defaultValue:参数的默认值

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值