zoukankan      html  css  js  c++  java
  • SpringMVC项目接入Springfox实战遇到的问题集合

    为了方便的管理项目中API接口,目前总是会写好接口后,然后又要去维护一个文档,这对于开发者来说太心累了,

    在网上找了好多关于API接口管理和生成文档的资料,一次偶然跟51的大神交流发现了Swagger这个工具,功能强大,UI界面漂亮,并且支持在线测试等等,

    对于这块的使用网上已经有很多教程,我这里用的跟网上的那些不太一样,部署好后遇到的问题的解决方式也不一样,

    这里只谈要注意的地方和问题

    先上今天直接摸索出来的效果图:

    详细的请求api接口如下图

    这里我只是测试,用api配置了一个接口。然后Swagger自动生成出来了,包括以往的接口名都生成出来了,只是要参数详细还得详细配置,这段代码是我参照网上的直接copy过来

     @RequestMapping(value="/1.0/contact/update.do/{id}",method=RequestMethod.POST)  

    @ApiResponses(value = {  

    @ApiResponse(code = 200, message = "更新成功", response = Contact.class),  

    @ApiResponse(code = 404, message = "Not Found"),  

    @ApiResponse(code = 500, message = "内部报错")}  

      )  

    public void update(@ApiParam(name="id", value="编号", required=true)@PathVariable Integer id,@RequestBody Contact contact) {  

        contact.setId(id);;  

        contactService.update(contact);  

      }

    我这里不详细介绍了,

    想了解的直接http://blog.csdn.net/zth1002/article/details/46927187

    首先引入这些包

    <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.4.4</version>
    </dependency>
    <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.4.4</version>
    </dependency>
    <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.4.4</version>
    </dependency>

    <
    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>

    <dependency>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-annotations</artifactId>
    <version>1.5.3</version>
    </dependency>

    <dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-staticdocs</artifactId>
    <version>2.2.2</version>
    <scope>test</scope>
    </dependency>

    这些pom包里面包括ui静态资源,引入后就不用去git下载ui静态资源了

    第二需要注意的,就是写一个SwaggerConfig ,然后加上注解配置开启如图
    如不会看这里
    http://blog.csdn.net/zth1002/article/details/46927187

    这里的配置好弄,支持正则匹配。如果你觉得太复杂,就直接像我这样配置就可以了,appinfo里面可以配置文档的各种属性。

    第三个需要注意的。是SwaggerConfigUi资源里面对mvc-controller的访问是直接这样
    /swagger-resources ,
    这对于我们设定了指定后缀的mvc-action 来说,就识别不到了,web系统会报404错误,也就是说UI资源里面的html对动态action的请求是不带后缀的
    除了这个
    /swagger-resources,还有一个apidoc 也是请求的一个controller,但是没带后缀系统找不到
    那这里再给它在web。xml里面配置url映射。


    请求
    http://localhost:8080//swagger-ui.html#/ 可以直接访问了
    当然也可以后面给它加上权限
  • 相关阅读:
    [导入]微软轻量级“代码生成器”—Repository Factory使用(上)
    数据结构练习(41)数组中三个只出现一次的数字
    数据结构练习(43)字符串的组合
    数据结构练习(37)复杂链表的复制
    数据结构练习(36)二叉树两结点的最低共同父结点
    数据结构练习(34)对称子字符串的最大长度
    数据结构练习(38)树的子结构
    数据结构练习(39)二叉树前中后序遍历的非递归实现
    数据结构练习(42)八皇后问题
    数据结构练习(35)数组中出现次数超过一半的数字
  • 原文地址:https://www.cnblogs.com/fangyuan303687320/p/5066388.html
Copyright © 2011-2022 走看看