• 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
    

      

  • 相关阅读:
    MySQL 有关权限的表都有哪几个?
    MyISAM 表格将在哪里存储,并且还提供其存储格式?
    你是怎么看Spring框架的?
    elasticsearch 的倒排索引是什么 ?
    主键和候选键有什么区别?
    MySQL 支持事务吗?
    可以使用多少列创建索引?
    LIKE 声明中的%和_是什么意思?
    什么是通用 SQL 函数?
    MySQL 中有哪些不同的表格?
  • 原文地址:https://www.cnblogs.com/Jomini/p/10860318.html
Copyright © 2020-2023  润新知