Swagger 配置
2016-11-28 00:00
369 查看
1 pom配置
2 配置启动类
3 root-context.xml文件配置
4 servlet-context.xml文件配置
5 web.xml文件配置
6 sample
7 国际化-中文显示配置「swagger-ui.html」中添加以下配置
※参考资料↓
swagger注解资料
https://github.com/swagger-api/swagger-core/wiki/Annotations#apimodel
封装swagger
http://www.sosoapi.com/
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.4.0</version> </dependency>
2 配置启动类
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; 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; /* * Restful API 访问路径: * http://IP:port/{context-path}/swagger-ui.html * eg:http://localhost:8080/swagger-ui.html */ @EnableSwagger2 @Configuration @EnableWebMvc @ComponentScan(basePackages = "com.jingqbbridge.business.api.web") public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() // 选择那些路径和api会生成document .apis(RequestHandlerSelectors.any()) // 对所有api进行监控 .paths(PathSelectors.any()) // 对所有路径进行监控 .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("鲸钱包开发者文档") .termsOfServiceUrl("https://api.jingqb.com/rest") .contact("鲸钱包团队") .version("1.0.0") .build(); } }
3 root-context.xml文件配置
<!-- 使用 Swagger --> <bean class="com.jingqbbridge.frame.util.SwaggerConfig" />
4 servlet-context.xml文件配置
<context:component-scan base-package="com.jingqbbridge" /> <!-- 使用 Swagger Restful API文档时,添加此注解 --> <mvc:default-servlet-handler />
5 web.xml文件配置
<servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
6 sample
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import com.jingqbbridge.business.GlobalConstants; import com.jingqbbridge.business.annotation.AccessTypeAnnotation; import com.jingqbbridge.business.model.ExtMerchant; import com.jingqbbridge.business.util.MessageUtil; import com.jingqbbridge.business.util.SecurityUtil; import com.jingqbbridge.frame.base.web.BaseController; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import springfox.documentation.annotations.ApiIgnore; @RestController public class LoginApiController extends BaseController { public static final String getPlatTokenParamNote = "{<br>\"id\":\"商户号\",<br>\"key\":\"商户密钥\"<br>}"; /** * 获取平台token * * @author Aaron.Wu * @date 2016-06-08 09:54:02 */ @RequestMapping(value = "/api/getPlatToken", method = RequestMethod.POST) @AccessTypeAnnotation(value = AccessTypeAnnotation.EXTERNAL) @ApiOperation(value = "获取接口调用凭据", notes = "获取接口调用凭据", tags={ "鲸钱包开发者文档", }) public Map<String, Object> getPlatToken(@ApiParam(required = true, name = "paramMap", value=getPlatTokenParamNote) @RequestBody Map<String, String> paramMap) throws Exception { Map<String, Object> resultMap = new HashMap<String, Object>(); String id = paramMap.get("id"); String key = paramMap.get("key"); Map<String, ExtMerchant> merchantList = SecurityUtil.getExtMerchantList(); ExtMerchant extMerchant = merchantList.get(id); String platToken = ""; if (extMerchant != null && key.equals(extMerchant.getKey())) { platToken = SecurityUtil.getAccessToken(id); } else { return MessageUtil.addMsgToResultForExt("E10000", null); } resultMap.put("platToken", platToken); return MessageUtil.addMsgToResultForExt(GlobalConstants.Result.CODE_OK, resultMap); }
7 国际化-中文显示配置「swagger-ui.html」中添加以下配置
<!-- Some basic translations --> <script src='webjars/springfox-swagger-ui/lang/translator.js' type='text/javascript'></script> <script src='webjars/springfox-swagger-ui/lang/zh-cn.js' type='text/javascript'></script>
※参考资料↓
swagger注解资料
https://github.com/swagger-api/swagger-core/wiki/Annotations#apimodel
封装swagger
http://www.sosoapi.com/
相关文章推荐
- Swagger-UI配置使用
- swagger springMVC,配置
- C# 在webapi项目中配置Swagger
- spring-boot-starter-swagger 1.2.0.RELEASE:新增分组配置功能
- springMVC+jetty+swagger 简单配置
- spring-boot-starter-swagger 1.2.0.RELEASE:新增分组配置功能
- swagger restful api form映射实体对象和body映射实体对象配置
- Spring boot 配置 swagger
- C# 在webapi项目中配置Swagger(最新版2017)
- Swagger-UI的配置与使用
- Swagger配置手记
- swagger,从认识swagger到配置
- 解决spring boot中swagger-ui.html访问404以及配置全局header
- swagger使用二:swagger配置多个项目注释
- springmvc4 spring4 swagger配置问题
- cxf-rs 、spring 和 swagger 环境配置切换【github 有项目】
- Swagger .Net配置
- .net core web api swagger 配置笔记
- spring-boot-starter-swagger 1.3.0.RELEASE:新增对JSR-303的支持和host的配置
- swagger配置