zoukankan      html  css  js  c++  java
  • swagger 配置- ssm

    swagger 配置 - ssm

         swagger 是一个用来看接口的工具,具体效果如下,这里用的是swagger2

       

    1、porm.xml

    <dependency>
    	<groupId>io.springfox</groupId>
    	<artifactId>springfox-swagger2</artifactId>
    	<version>2.5.0</version>
    </dependency>
    <dependency>
    	<groupId>io.springfox</groupId>
    	<artifactId>springfox-swagger-ui</artifactId>
    	<version>2.5.0</version>
    	</dependency>
    <dependency>
    	<groupId>com.mangofactory</groupId>
    	<artifactId>swagger-springmvc</artifactId>
    	<version>0.9.5</version>
    </dependency>
    

    2、swagger 配置

    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.EnableWebMvc;
    
    import springfox.documentation.builders.ApiInfoBuilder;
    import springfox.documentation.builders.PathSelectors;
    import springfox.documentation.builders.RequestHandlerSelectors;
    import springfox.documentation.service.ApiInfo;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;
    
    
    @Configuration
    @EnableSwagger2
    @EnableWebMvc
    public class Swagger2 {
    
        @Bean
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.common.base.modules"))
                    .paths(PathSelectors.any())
                    .build();
        }
    
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder().title("Swagger").description("show").termsOfServiceUrl("no terms of service")
                    .version("2.0")
                    .build();
        }
    
    }
    

      

     3、在spring-mvc.xml的配置文件里面配置扫描到上面那个 swagger 2 文件

    <context:component-scan base-package="com.common.base.swagger" />
    

      

     4、controller 配置例 - 配置 Api 

    @RestController
    @RequestMapping("/items")
    public class ItemController {
    	
    	@Autowired
    	private ItemService itemService;
    	
    
    	@RequestMapping(value="/queryItems", method=RequestMethod.GET)
    	@ApiOperation(value="Items",notes="Items")
            public JSONObject queryItems(HttpServletRequest request) {
                     return itemService.queryItem((CommonUtil.request2Json(request)));
            }
    }
    

      

    5、完成       ip + 端口: swagger-ui.html

    (注:如果 shiro 拦截的话在shiro的xml配置文件的 filterChain 里面加入以下,但是接口还是会被拦截, 怎么解啊

    或者 注释掉 web.xml 的shiro 拦截)

    <!-- swagger设置匿名访问 -->
    /swagger-ui.html/** = anon
    /swagger-resources/** = anon
    /v2/api-docs  = anon
    

      

  • 相关阅读:
    近段时间学习html和CSS的一些细碎总结
    循环队列
    【IOS】IOS高速入门之OC语法
    2014华为机试-字符串替换
    自己动手写操作系统--个人实践
    HBase学习(十四)LINUX下用Eclipse构建HBase开发环境
    IOS成长之路-Nsstring中搜索方法rangeOfString
    Java JDBC连接SQL Server2005错误:通过port 1433 连接到主机 localhost 的 TCP/IP 连接失败
    java 不同意同一账户不同IP 同一时候登录系统解决的方法 兼容IE Firefox
    十二.200多万元得到的创业教训--app名字是关键
  • 原文地址:https://www.cnblogs.com/Jomini/p/10860318.html
Copyright © 2011-2022 走看看