前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot (七) 集成Swagger

Spring Boot (七) 集成Swagger

作者头像
斯文的程序
发布2019-11-07 18:41:13
5800
发布2019-11-07 18:41:13
举报
文章被收录于专栏:带你回家

版本:jdk1.7 springboot1.4.7

引入pom文件:

代码语言:javascript
复制
  <!-- swagger -->
	    <dependency>
	        <groupId>io.springfox</groupId>
	        <artifactId>springfox-swagger2</artifactId>
	        <version>2.5.0</version>
	    </dependency>
	    <!-- swagger-ui -->
	    <dependency>
	        <groupId>io.springfox</groupId>
	        <artifactId>springfox-swagger-ui</artifactId>
	        <version>2.5.0</version>
	    </dependency>

设置swagger工具类:

代码语言:javascript
复制
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;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * SwaggerConfig
 */
@Configuration
@EnableSwagger2
public class SwaggerConfig {

	@Bean
	public Docket createRestApi() {
		return new Docket(DocumentationType.SWAGGER_2)
				.apiInfo(apiInfo())
				.select()
				.apis(RequestHandlerSelectors.basePackage("com.siyuan.app.h5.controller"))
				.paths(PathSelectors.any())
				.build();
	}
	
	private ApiInfo apiInfo() {
		return new ApiInfoBuilder()
				.title("springboot利用swagger构建api文档")
				.description("简单优雅的restfun风格")
				.termsOfServiceUrl("")
				.version("1.0")
				.build();
	}
}

spring boot开启swagger

代码语言:javascript
复制
@SpringBootApplication //spring boot启动
@EnableScheduling      //定时任务
@MapperScan(basePackages = {"com.siyuan.app.h5.dao"})  //扫描mybatis dao 接口
@EnableSwagger2       //开启swagger
public class StartApp {
	public static void main(String[] args) {
		SpringApplication.run(StartApp.class, args);
	}
}

Controller类:

代码语言:javascript
复制
import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.siyuan.app.h5.model.UserModel;
import com.siyuan.app.h5.service.UserService;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

@RestController
@RequestMapping("app/")
@Api("app测试类")
public class DemoController {
	
	@Autowired
	private UserService userService;
	
	@RequestMapping("test")
	@ResponseBody
	@ApiOperation(value="查询用户", notes="某某是需要必填")
	 public List<String> inde(){
		List<String> list = new ArrayList<String>();
		
		List<UserModel> userList = userService.getUesrs();
		for (UserModel user : userList) {
			list.add(user.getName());
		}
		return list; 
	 }
}

运行:

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

界面:

Swagger常用注解介绍:

@Api()用于类; 表示标识这个类是swagger的资源 - @ApiOperation()用于方法; 表示一个http请求的操作 - @ApiParam()用于方法,参数,字段说明; 表示对参数的添加元数据(说明或是否必填等) - @ApiModel()用于类 表示对类进行说明,用于参数用实体类接收 - @ApiModelProperty()用于方法,字段 表示对model属性的说明或者数据操作更改 - @ApiIgnore()用于类,方法,方法参数 表示这个方法或者类被忽略 - @ApiImplicitParam() 用于方法 表示单独的请求参数 - @ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam

做技术最难能可贵的就是持续的学习,吸收知识,不断的思考形成自己的理解和模式。 进群qq:600922504

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档