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

  

 

posted @ 2019-05-14 09:04  李荣先辈Java  阅读(825)  评论(0编辑  收藏  举报