文档章节

swagger 学习笔记

周翔
 周翔
发布于 2017/08/17 17:33
字数 369
阅读 81
收藏 1

swagger 可以用来生成接口文档,同时提供测试使用

官网:https://swagger.io/
项目地址: https://github.com/springfox/springfox
文档地址: http://springfox.github.io/springfox/docs/current/

Spring MVC 下使用 swagger:

  1. pom.xm 文件
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>2.7.0</version>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>2.7.0</version>
		</dependency>

这里因为继承了 org.springframework.boot 的原因有些包没有版本号,需要的话自己加

2.Spring 配置

<context:annotation-config/>
<!-- 扫描 controller -->
<context:component-scan base-package="com.ymt.controller"/>
<bean id="swagger2Config" class="springfox.documentation.swagger2.configuration.Swagger2DocumentationConfiguration"/>
<mvc:resources mapping="/swagger-ui.html" location="classpath:/META-INF/resources/"/>

3.接口说明配置

@Api(value = "用户信息", description = "用户信息")
@Controller
public class UserController {
    @ApiOperation("登录")
    @RequestMapping(value = "/login")
    public String login(@ApiParam(value = "用户名") @RequestParam String username,
            @ApiParam(value = "密码") @RequestParam String password) {
        return "welcome";
    }
}

到此为止就完成了,访问 http://localhost:8080/{项目名称}/swagger-ui.html 就可以看到API了 输入图片说明 输入图片说明


swagger 默认会扫描所有接口,实现Spring 配置文件中的 springfox.documentation.swagger2.configuration.Swagger2DocumentationConfiguration 类,控制只显示实现了ApiOperation 接口的API

@Configuration
@Import({ SpringfoxWebMvcConfiguration.class, SwaggerCommonConfiguration.class })
@ComponentScan(basePackages = { "springfox.documentation.swagger2.readers.parameter",
        "springfox.documentation.swagger2.mappers" })
public class ApplicationSwaggerConfig extends Swagger2DocumentationConfiguration {
    @SuppressWarnings("deprecation")
    @Bean
    public Docket myDocket() {
        Docket docket = new Docket(DocumentationType.SWAGGER_2);
        ApiInfo apiInfo = new ApiInfo("基础框架", "这是一个项目的基础框架结构,构建新项目可以在这个基础上搭建", "1.0", "apiDocs", "zhouxianglh@qq.com",
                "", "");
        docket.apiInfo(apiInfo);
        docket.select().apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).build();
        return docket;
    }
}

参考:
http://www.jianshu.com/p/12f4394462d5
http://www.jianshu.com/p/5cfbe62a1569
http://git.oschina.net/shuzheng/zheng

© 著作权归作者所有

周翔

周翔

粉丝 8
博文 53
码字总数 23828
作品 0
闵行
程序员
私信 提问
生产环境-微服务实践架构(springcloud)流程图分享

线上微服务架构图 注: 绘图工具:https://www.processon.com 其他信息: 接口文档管理:,后期转入bootstrap-swagger-ui (其支持自定义http header 等参数)。同时利用yapi来进行跨部门间的...

开源小菜鸟2333
04/11
243
0
springboot 学习笔记【5】使用Swagger2构建RESTful APIs

接上一篇springboot 学习笔记【4】Spring Boot构建RESTful API***上一篇博客中写了一个简单的Restful接口的服务,在实际开发中我们的RESTful API就有可能要面对多个开发人员或多个开发团队:...

shane_zhou
2016/11/02
322
2
撸一个微信小程序记事本备忘录-随微记

废话不多说了,目的直接点 微信上记录一些资料(比如公司信息以及开发票等),方便查看 可以随时分享出来,可以生成图片海报 做一些工具(后续开放) 最后总结就是弄它,随微记是自己想的,页面...

龙荩草
08/09
0
0
Spring Boot学习笔记

多模块开发 [SpringBoot学习]-IDEA创建Gradle多Module结构的SpringBoot项目 RabbitMQ RabbitMQ 安装 linux安装RabbitMQ详细教程 Ubuntu 16.04 RabbitMq 安装与运行(安装篇) ubantu安装...

OSC_fly
2018/07/26
0
0
用Swagger调用Harbor Registry的REST API

本文原作者为开源企业级容器Registry Harbor项目的工程师王锟,主要介绍如何使用Harbor内置Swagger来测试和调用Harbor的API。笔者做了少量修改。 Swagger简介 Swagger是最流行的RESTful API...

project_harbor
2016/04/21
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

一、docker 入坑(win10和Ubuntu 安装)

前言 终究还是绕不过去了,要学的知识真的是太多了,好在我们还有时间,docker 之前只闻其声,不曾真正的接触过,现在docker 越来越火,很多公司也都开始使用了。所以对于我们程序员而言,又...

quellanan2
8分钟前
4
0
AutoCompleteTextView

小技巧按菜单键 当菜单打开之前会调用onMenuOpened(int featereId,Menu menu),可以重写这个方法,弹出对话框或者Popmenu 再布局中添加控件AutoCompleteTextView. <AutoCompleteTextVie...

逆天游云
12分钟前
3
0
谷歌软件商店:推出5美元会员 可用数百个软件

腾讯科技讯,谷歌和苹果是全球两大智能手机操作系统的运营者,两家公司旗下分别拥有占据行业垄断地位的谷歌软件商店和苹果软件商店。据外媒最新消息,手机软件商店的商业模式正在发生一些变化...

linuxCool
34分钟前
2
0
RocketMQ 多副本前置篇:初探raft协议

Raft协议是分布式领域解决一致性的又一著名协议,主要包含Leader选举、日志复制两个部分。 温馨提示: 本文根据raft官方给出的raft动画进行学习,其动画展示地址:http://thesecretlivesofda...

中间件兴趣圈
34分钟前
2
0
elasticsearch 6.8.0 添加认证

1. 修改elasticsearch-6.8.0/config/elasticsearch.yml 最后添加一行:xpack.security.enabled: true 2. 初始化用户和密码 ./bin/elasticsearch-setup-passwords interactive 我这里初始化为......

coord
36分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部