文档章节

文档!重要的事情说第四遍~

风间影月
 风间影月
发布于 2017/04/20 11:13
字数 587
阅读 4
收藏 0

之前我有提过文档的事,标题是《文档!文档!文档!重要的事情说三遍!》,其中提到的文档工具是使用wiki来管理文档,当然也能配合jira来分发任务,以及管理bug,查看每个任务的工作流状态等等

 

今天来讲讲另外一个文档工具,swagger+spring,这个插件比较好用,非常适合那种敏捷开发的小团队,不像wiki那么繁琐,更没有word或者excel那么难以管理,使用这个工具,你只需要在代码中配置好相应的注解,在spring容器加载的时候就自动扫描进去了,使用非常方便,那么先来简单看看吧

首先需要配置pom,引入相应的jar包

<!-- swagger-springmvc -->
            <dependency>
                <groupId>com.mangofactory</groupId>
                <artifactId>swagger-springmvc</artifactId>
                <version>${mangofactory.swagger.version}</version>
            </dependency>
            <dependency>
                <groupId>com.mangofactory</groupId>
                <artifactId>swagger-models</artifactId>
                <version>${mangofactory.swagger.version}</version>
            </dependency>
            <dependency>
                <groupId>com.wordnik</groupId>
                <artifactId>swagger-annotations</artifactId>
                <version>${swagger-annotations.version}</version>
            </dependency>
            <!-- swagger-springmvc dependencies -->
<!--             <dependency> -->
<!--                 <groupId>com.google.guava</groupId> -->
<!--                 <artifactId>guava</artifactId> -->
<!--                 <version>15.0</version> -->
<!--             </dependency> -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml</groupId>
                <artifactId>classmate</artifactId>
                <version>${classmate.version}</version>
            </dependency>

配置好SwaggerConfig这个类,内容如下:

package com.dingli.rest.config;

import com.mangofactory.swagger.configuration.SpringSwaggerConfig;
import com.mangofactory.swagger.models.dto.ApiInfo;
import com.mangofactory.swagger.plugin.EnableSwagger;
import com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


/**
 * 
 * @Title: SwaggerConfig.java
 * @Package com.dingli.rest.config
 * @Description: SwaggerConfig 的配置,需要加入spring容器
 * Copyright: Copyright (c) 2016
 * Company:DINGLI.SCIENCE.AND.TECHNOLOGY
 * 
 * @author leechenxiang
 * @date 2016年9月14日 上午9:55:42
 * @version V1.0
 */
@Configuration
@EnableSwagger
public class SwaggerConfig {

    private SpringSwaggerConfig springSwaggerConfig;

    /**
     * Required to autowire SpringSwaggerConfig
     */
    @Autowired
    public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) {
        this.springSwaggerConfig = springSwaggerConfig;
    }

    /**
     * Every SwaggerSpringMvcPlugin bean is picked up by the swagger-mvc
     * framework - allowing for multiple swagger groups i.e. same code base
     * multiple swagger resource listings.
     */
    @Bean
    public SwaggerSpringMvcPlugin customImplementation() {
        return new SwaggerSpringMvcPlugin(this.springSwaggerConfig)
                .apiInfo(apiInfo())
                .includePatterns(".*?");
    }

    private ApiInfo apiInfo() {
        ApiInfo apiInfo = new ApiInfo(
                "My Apps API Title",
                "My Apps API Description",
                "My Apps API terms of service",
                "My Apps API Contact Email",
                "My Apps API Licence Type",
                "My Apps API License URL");
        return apiInfo;
    }
}

然后你要去github上找到这个项目,然后下载后吧dlist中的所有内容导入到自己的项目中,在index.html中修改路径,

http://petstore.swagger.io/v2/swagger.json";

这个是加载json,需要把这个段替换为你自己的地址:"http://localhost:8080/swagger-ui.html"

最后访问你就会得到对应的界面了

好了,OK,十分简单的配置,但是绝提的接口对于参数等等,自己看api吧,十分简单,非常适合小团队开发

 

本文转载自:http://www.cnblogs.com/leechenxiang/p/5871099.html

风间影月
粉丝 4
博文 126
码字总数 252
作品 0
无锡
技术主管
私信 提问
JDBC操作数据库,第一:jsp插入mysql数据库,坎坷摸索分享

JSP连接数据库,坎坷摸索了好久,现在终于做好了,分享一下,希望对更多热爱编程学习的人有所帮助!!!谢谢   第一:首先准备的就是已经安装好Mysql,这里不做多叙述,百度可以做到。 然后...

别叫小伙
2016/10/12
0
0
如何彻底禁止 Redis 持久化功能

文/Fenying 公司有一台测试服务器,其中跑着一个 WordPress 站点。不知道什么时候开始,每次服务器重启,WordPress 的一些数据(例如角色权限)会还原到N久之前的样子。各种查代码没看出来,...

Fenying
2018/03/08
2.3K
1
工作周记 - 第八周 (2016/07/11 - 2016/07/15) 文档!文档!文档!

文档!文档!文档!重要的事情说三遍 1、项目一期基本开发完毕,包括后台管理系统以及提供给手机端的接口,由于奔着敏捷开发去的,文档没有过多花时间去写, 当然了文档肯定有,开发人员写的...

风间影月
2016/07/18
0
0
【领取福利】参与码云平台问卷调查,领取开源礼品

Hello,大家好,虽然五四青年节刚过,但请允许我代表整个码云开发团队对所有关注我们,支持我们的小伙伴们表达最美好的祝愿:祝大家梦想成真、事业有成、在奋斗中幸福快乐! 今天,我要告诉大...

一路南漂
2016/05/10
986
8
参与码云平台问卷调查,领取开源礼品

Hello,大家好,虽然五四青年节刚过,但请允许我代表整个码云开发团队对所有关注我们,支持我们的小伙伴们表达最美好的祝愿:祝大家梦想成真、事业有成、在奋斗中幸福快乐! 今天,我要告诉大...

一路南漂
2016/05/05
3.8K
28

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
34分钟前
34
0
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
9
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部