swagger+spirngmve 整合笔记

来源:互联网 发布:java教材 pdf 编辑:程序博客网 时间:2024/06/03 14:00

写在前面:

使用maven管理工程

一、POM配置:

<!-- swagger框架 -->        <dependency>            <groupId>com.mangofactory</groupId>            <artifactId>swagger-springmvc</artifactId>            <version>1.0.2</version>        </dependency>


mavan仓库建议用maven官方,阿里环境无法下载最新相关包,因为要用到关联包,需要推送到私服

mvn install:install-file -Dfile=D:\maven\mvnRespo\com\mangofactory\swagger-models\1.0.2\swagger-models-1.0.2.jar -DgroupId=com.mangofactory -DartifactId=swagger-models -Dversion=1.0.2 -Dpackaging=jar

二、springmvc.xml配置

     <!-- swagger配置信息 -->    <bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />    <!-- 跨域处理配置信息 -->    <mvc:cors>    <mvc:mapping path="/**"      allowed-origins="*"     allowed-methods="*"     allowed-headers="*"     allow-credentials="false" />    <mvc:mapping path="/common/**"/></mvc:cors> 


三、新增配置类

public class SwaggerConfig extends WebMvcConfigurerAdapter{ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml");    private SpringSwaggerConfig springSwaggerConfig;            @Autowired    public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) {        this.springSwaggerConfig = springSwaggerConfig;    }    /**     * 链式编程 来定制API样式 后续会加上分组信息     *      * @return     */    @Bean    public SwaggerSpringMvcPlugin customImplementation(){           return new SwaggerSpringMvcPlugin(this.springSwaggerConfig)                    .apiInfo(apiInfo())                    .includePatterns(".*?");    }        @Bean    public SpringSwaggerConfig comSpringSwaggerConfig(){    return new SpringSwaggerConfig();    }    private ApiInfo apiInfo() {        ApiInfo apiInfo = new ApiInfo("API接口测试平台",                "提供后台所有Restful接口", "",                "", "", "");        return apiInfo;    }    @Override    public void configureDefaultServletHandling(            DefaultServletHandlerConfigurer configurer) {        configurer.enable();    }    }
四、增加测试controller

package com.qzsoft.fe.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import com.wordnik.swagger.annotations.Api;import com.wordnik.swagger.annotations.ApiOperation;import com.wordnik.swagger.annotations.ApiParam;import com.wordnik.swagger.annotations.ApiResponse;import com.wordnik.swagger.annotations.ApiResponses;/*API详细说明注释汇总-------------------------------------作用范围            API                 使用位置对象属性    @ApiModelProperty用在出入参数对象的字段上协议集描述@Api用于controller类上协议描述@ApiOperation用在controller的方法上Response集@ApiResponses用在controller的方法上Response@ApiResponse用在 @ApiResponses里边非对象参数集@ApiImplicitParams用在controller的方法上非对象参数描述@ApiImplicitParam用在@ApiImplicitParams的方法里边描述返回对象的意义@ApiModel用在返回对象类上-------------------------------------@RequestMapping此注解的推荐配置 value method produces参考:http://blog.csdn.net/xupeng874395012/article/details/68946676*/@Controller@RequestMapping("swagger")@Api(description="Swagger展示模型",value = "展示模型")//添加注释public class SwaggerController {private static final String SWAGGER_PAGES = "common/static/swagger.jsp";@ApiOperation(value="接口管理系统页面访问接口")@ApiResponses({ @ApiResponse(code = 401, message = "资源未经授权的"),@ApiResponse(code = 403, message = "权限不足"),    @ApiResponse(code = 404, message = "未找到资源"),    @ApiResponse(code = 200, message = "操作成功") })@RequestMapping(value="/swagger.do",method=RequestMethod.GET)public String toJsp(){return SWAGGER_PAGES;}@ApiOperation(value="接口管理系统测试接口")@ApiResponses({ @ApiResponse(code = 401, message = "资源未经授权的"),@ApiResponse(code = 403, message = "权限不足"),    @ApiResponse(code = 404, message = "未找到资源"),    @ApiResponse(code = 200, message = "操作成功") })@RequestMapping(value="/test.do",method=RequestMethod.GET)@ResponseBodypublic String toTest(@RequestParam(value="userId", required=false) String userId,@RequestParam(value = "para", required = true) String para){return userId+"testswagger"+para;}}



原创粉丝点击