文档章节

Swagger与SpringMVC项目整合

C
 CangYing
发布于 2016/04/10 23:20
字数 560
阅读 53
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

最终API管理界面:

详细步骤:

Step1:项目中引入相关jar包:

    UTF-83.2.9.RELEASE2.4.4....com.mangofactoryswagger-springmvc0.9.5com.fasterxml.jackson.corejackson-annotations${version.jackson}com.fasterxml.jackson.corejackson-databind${version.jackson}com.fasterxml.jackson.corejackson-core${version.jackson}

Step2:添加自定义config文件

package com.spg.apidoc.common.configer;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

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;

/**
 * 项目名称:apidoc
 *
 * @description:
 * @author Wind-spg
 * @create_time:2015年2月10日 上午10:27:51
 * @version V1.0.0
 *
 */
@Configuration
@EnableSwagger
// Loads the spring beans required by the framework
public class MySwaggerConfig
{

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

Step3:将此配置加入到Spring容器中,如下:

Step4:在代码中添加相关APIAnnotation,如下:

    @ResponseBody
    @RequestMapping(
            value = addUser, method = RequestMethod.POST, produces = application/json; charset=utf-8)
    @ApiOperation(value = 添加用户, httpMethod = POST, response = BaseResultVo.class, notes = add user)
  public String addUser(@ApiParam(required = true, name = postData, value = 用户信息json数据) @RequestParam(
            value = postData) String postData, HttpServletRequest request)
    {
        LOGGER.debug(String.format(at function, %s, postData));
        if (null == postData || postData.isEmpty())
        {
            return super.buildFailedResultInfo(-1, post data is empty!);
        }

        UserInfo user = JSON.parseObject(postData, UserInfo.class);
        int result = userService.addUser(user);
        return buildSuccessResultInfo(result);
    }

说明:
其中@ApiOperation和@ApiParam为添加的API相关注解,个参数说明如下:
@ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response = “接口返回参数类型”, notes = “接口发布说明”;其他参数可参照源码;
@ApiParam(required = “是否必须参数”, name = “参数名称”, value = “参数具体描述”

Step5:添加Swagger UI配置

在GitHub上下载SwaggerUI项目,将dist下所有内容拷贝到本地项目webapp下面,结果目录如下图所示:

Step6:修改index.html

将index.html中http://petstore.swagger.wordnik.com/v2/swagger.json修改为http://localhost:8080/{projectname}/api-docs

到此为止,所有配置完成,启动你的项目,访问http://localhost:8080/{projectName}/index.html即可看到如下所示页面:

© 著作权归作者所有

C
粉丝 1
博文 7
码字总数 8674
作品 0
程序员
私信 提问
Spring系列整合Swagger

SpringMvc整合Swagger(spring版本在4.1.8以上,深深的痛) 1.先搭建好springmvc的环境 2.修改pom文件 3.也需要引入jackson的包 4.定义一个swagger的配置类 5.修改springmvc的配置文件,放行一...

z七夜
2018/07/03
0
0
springfox识别其余maven子模块的sping-data-rest接口?

在swagger和spring boot多个子模块整合时出现问题: swagger可以识别所有子模块的controller接口; swagger可以识别本模块的sping-data-rest接口; swagger无法识别其余模块的spring-data-res...

itwriter
2018/08/07
0
0
Restful形式接口文档生成之Swagger与SpringMVC整合手记

文章转载地址:http://javatech.wang/index.php/archives/74/ 笔者目前正在搭建一套API服务框架,考虑到客户端能够更方便的调用API服务(这里说的更方便是指避免不厌其烦地解说各接口需要的参...

北极之北
2016/04/01
13.4K
8
程序猿DD/swagger-butler

Swagger Butler Swagger Butler是一个基于Swagger与Zuul构建的API文档汇集工具。通过构建一个简单的Spring Boot应用,增加一些配置就能将现有整合了Swagger的Web应用的API文档都汇总到一起,...

程序猿DD
2018/05/25
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

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周四乱弹 —— 浙江台的电话号码倒是记得挺牢

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :《Out On The Streets》 一直不理解北欧人对重金属和死亡摇滚的热情,听完这首歌好像理解了。#今日歌曲推荐# 《Out On The Stre...

小小编辑
今天
6
0
Leetcode PHP题解--D121 21. Merge Two Sorted Lists

D121 21. Merge Two Sorted Lists 题目链接 21. Merge Two Sorted Lists 题目分析 合并两个有序链表。 思路 逐个遍历两个链表,把小的数字塞入数组里。之后再拼起来。 最终代码 <?php/** *...

skys215
今天
5
0
mars-config 动态配置管理

mars-config 码云地址:https://gitee.com/fashionbrot/mars-config 介绍 spring mvc 、springboot 动态配置系统。http 轮训方式 更新 动态配置 软件架构 软件架构说明 后端使用技术 :sprin...

fashionbrot
今天
14
0
女朋友玩吃鸡手游被开挂老哥骗炮,我见义勇为将骗子绳之以法

大家好,我是乔哥。 晚上10点以后下班后我回到自如出租房里面,开始处理公众号粉丝发来的消息,一条一条处理,突然看到了这么几条消息,吸引了我的眼球: 然后我就和这位女粉丝小红(化名)聊...

gzc426
今天
9
0
两款软件

fadetop保护眼睛软件 Snipaste截图软件

伟大源于勇敢的开始
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部