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