引入步骤

1.添加依赖

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${dev.lib.swagger2}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${dev.lib.swagger2}</version>
</dependency>

2.配置swagger2

@Configuration
@EnableSwagger2
public class SwaggerConfig { /**
* 可以定义多个组,比如本类中定义把test和demo区分开了 (访问页面就可以看到效果了)
*/
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.gt.controller"))
.paths(PathSelectors.any()).build();
} private ApiInfo apiInfo() {
return new ApiInfo("SWAGGER接口文档", // 大标题
"没什么好写的", // 小标题
"2.0", // 版本
"NO terms of service", "Czt@Chenzetan", // 作者
"Czt", // 链接显示文字
""// 网站链接
);
}
}

3.api代码

 @ApiOperation(value = "获取商家用户店铺分页列表",notes = "")
@GetMapping
public GTJsonResult getMainsList(HttpServletRequest request, Page page ) {
Page<Main> mainsList = mainService.getMainsList(SessionUtil.getBusUser(request).getId(), page);
if (mainsList.getRecords() == null || mainsList.getRecords().size() == 0) {
return GTJsonResult.instanceErrorMsg("没有数据");
}
return GTJsonResult.instanceSuccessMsg(mainsList);
}

4.访问 host//swagger-ui.html查看

遇到的问题:

  1.如果方法请求参数中为实体类,那么不需要添加注解,即可实现这种效果,实体的参数会以paramter方式请求,例如3中的代码,page为object类型,请求只需要current=3即可注入到page参数中

2.上面这图为swagger较高版本,我用的是2.6.1,原来用2.2.2是不能实现这种效果。

3.@requestbody注解不能用于Get方式请求中

4.@ApiImplicitParam和@ApiParam 注意区分好,前面一个能指定参数的各个方面,包括paramType类型,例如在藏在路径中的getObject/{id} 这种的,apiparam注解就不能做到,暂时还不懂真正的区别是什么?有知道的请告知下!谢谢


												

springboot + swagger2 学习笔记的更多相关文章

  1. SpringBoot + Security学习笔记

    SpringSecurity学习笔记 本以为是总结,最后写成了笔记,所以还是需要更加的努力啊. 开始的时候看了一遍官方文档,然后只看懂了加密器. 然后又学了一个尚硅谷的视频,虽然这个教程是在讲一个项目 ...

  2. SpringBoot 完整学习笔记免费分享

    从0到进阶,完全系统性的学习笔记 每次我都会反复拿来观看,因为我们总会有遗漏忘记的地方,但是笔记不会. 希望大家能好好利用它,以下是笔记截图! 以上只是其中的一项部分,这份笔记可以说含金量超高,绝对会 ...

  3. SpringBoot -基础学习笔记 - 01

    SpringBoot个人笔记-szs 一.使用thymeleaf模板引擎来指定所需资源的位置 可以做到当项目名进行更改后,模板引擎也会进行更新相关的路径;如下图展示,会自动添加crud根目录! < ...

  4. SpringBoot Web学习笔记

    一.资源的访问: 情形一.所有的  /webjars/**  都会去 classpath:/META_INFO/resource/webjars/ 下找资源: webjars:以jar包的方式引入静态 ...

  5. SpringBoot入门学习笔记

    SpringBoot是SpringMVC的升级版,SpringBoot的特点: application.properties文件配置: server.port = 8080端口配置 server.co ...

  6. springBoot+springCloud学习笔记

    尊重原创:https://www.jianshu.com/p/492dfefa2735 SpringBoot 配置优先级 在命令行中传入的参数 如:java -jar storeMs.jar --se ...

  7. 【原创】SpringBoot & SpringCloud 快速入门学习笔记(完整示例)

    [原创]SpringBoot & SpringCloud 快速入门学习笔记(完整示例) 1月前在系统的学习SpringBoot和SpringCloud,同时整理了快速入门示例,方便能针对每个知 ...

  8. SpringBoot学习笔记(十七:MyBatis-Plus )

    @ 目录 一.MyBatis-Plus简介 二.基本用法 1.准备数据 2.引入依赖 2.配置 3.代码 4.测试 三.自定义SQL 1.自定义批量插入 2.自定义查询 2.1.自定义返回结果 2.2 ...

  9. SpringBoot学习笔记

    SpringBoot个人感觉比SpringMVC还要好用的一个框架,很多注解配置可以非常灵活的在代码中运用起来: springBoot学习笔记: .一.aop: 新建一个类HttpAspect,类上添 ...

随机推荐

  1. python学习的推荐教程

    评注: 还未细看, http://www.crifan.com/files/doc/docbook/python_beginner_tutorial/release/html/python_begin ...

  2. POJ 2503-Babelfish(map)

    题目地址:POJ 2503 题意:输入一个字典.字典格式为"英语 外语"的一一映射关系然后输入若干个外语单词.输出他们的 英语翻译单词,假设字典中不存在这个单词,则输出" ...

  3. EffectiveJava(8)覆盖equals是要遵守的约定

    覆盖equals是要遵守的约定 1.覆盖种类: -类的每个1实例本质上都是唯一的 -不关心类是否提供了"逻辑相等"的测试功能(Random测试是否能随机相同数字) -超类已经覆盖了 ...

  4. VENOM cve-2015-3456 Qemu 虚拟机逃逸漏洞POC

    #include <sys/io.h> int main() { int i ; iopl(3); outb(0x8e, 0x3f5); outb(0x41, 0x3f5); outb(0 ...

  5. C3:建造者模式 Builder

    将一个复杂对象的创建与表示分离,使得同样的构建过程可以创建不同的表示. 应用场景: A.创建这个对象通常需要较多的参数,才能完整的表示该对象.B.类的各个组成部分的具体实现类或算法经常面临变化,但将他 ...

  6. php中const和static的区别和联系

    1.const是类中的常量,类外用define来定义常量2.const只可以修饰类的属性,不能修饰类的方法,static可以修饰属性,也可以修饰方法3.const和static都属于类本身,而不属于n ...

  7. springboot缓存及连接池配置

    参见https://coding.imooc.com/lesson/117.html#mid=6412 1.springboot的springweb自己默认以及配置好了缓存,只需要在主文件(XxxAp ...

  8. mongo: 改

    语法:db.CollectionName.upadte(查询表达式,新值,选项); 查询表达式:定位哪些列是要被修改的列(即使查询表达式能命中多行,默认也只改一行,如果想改多行,可以用multi选项, ...

  9. 属性字符串NSMutableAttributedString

    要实现如下效果: NSString * mailString = @"mymail@126.com"; NSString * mailStringWithQuotes = [NSS ...

  10. 受防火墙影响,win7的IPV6经常Ping不通,需要手动放行

    在路由器上面设置了IPV6隧道,路由自动给每台机器分配了IPV6地址. 然后总是发现过会IPV6就ping不通了,IPV6的网站也打不开. 经从次实验发现:关闭防火墙后立马就通了,打开防火墙后,过会又 ...