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
    

      

  • 相关阅读:
    uva11636-Hello World!
    POJ3083 Children of the Candy Corn(Bfs + Dfs)
    POJ2251-Dungeon Master
    使用 reqwest库,json,ajax传递api数据
    If no other git process is currently running, this probably means a git process crashed in this repo
    django配置数据驱动,python安装失败问题
    同时安装py2与py3时的pip使用问题
    Python代码之购物车
    Python代码之三级登录
    Python代码之登录接口
  • 原文地址:https://www.cnblogs.com/Jomini/p/10860318.html
Copyright © 2011-2022 走看看