├── docs ├── img │ ├── swagger1.png │ └── swagger2.png ├── favicon-16x16.png ├── favicon-32x32.png ├── swagger-ui.css.map ├── swagger-ui.js.map ├── swagger-ui-standalone-preset.js.map ├── swagger-ui-bundle.js.map ├── oauth2-redirect.html ├── index.html ├── swagger.json └── swagger-ui.css ├── .idea ├── copyright │ ├── profiles_settings.xml │ └── Files.xml ├── dictionaries │ └── Administrator.xml ├── markdown-navigator │ └── profiles_settings.xml ├── vcs.xml ├── encodings.xml ├── modules.xml ├── artifacts │ ├── mumu_swagger_war.xml │ └── mumu_swagger_war_exploded.xml ├── codeStyleSettings.xml ├── libraries │ ├── Maven__junit_junit_4_12.xml │ ├── Maven__log4j_log4j_1_2_17.xml │ ├── Maven__com_google_guava_guava_18_0.xml │ ├── Maven__org_slf4j_slf4j_api_1_7_5.xml │ ├── Maven__com_fasterxml_classmate_1_3_3.xml │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ ├── Maven__net_bytebuddy_byte_buddy_1_6_14.xml │ ├── Maven__org_slf4j_slf4j_log4j12_1_7_5.xml │ ├── Maven__org_aspectj_aspectjweaver_1_8_9.xml │ ├── Maven__io_springfox_springfox_spi_2_7_0.xml │ ├── Maven__io_springfox_springfox_core_2_7_0.xml │ ├── Maven__io_swagger_swagger_models_1_5_13.xml │ ├── Maven__org_javassist_javassist_3_21_0_GA.xml │ ├── Maven__org_reflections_reflections_0_9_11.xml │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_0.xml │ ├── Maven__commons_logging_commons_logging_1_2.xml │ ├── Maven__org_codehaus_jackson_jackson_xc_1_9_2.xml │ ├── Maven__io_springfox_springfox_schema_2_7_0.xml │ ├── Maven__org_mapstruct_mapstruct_1_1_0_Final.xml │ ├── Maven__javax_servlet_javax_servlet_api_3_1_0.xml │ ├── Maven__io_springfox_springfox_swagger2_2_7_0.xml │ ├── Maven__io_swagger_swagger_annotations_1_5_13.xml │ ├── Maven__io_springfox_springfox_spring_web_2_7_0.xml │ ├── Maven__io_springfox_springfox_swagger_ui_2_7_0.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_8_8.xml │ ├── Maven__com_fasterxml_jackson_xml_databind_0_6_2.xml │ ├── Maven__org_codehaus_jackson_jackson_core_asl_1_9_2.xml │ ├── Maven__org_springframework_spring_tx_4_3_8_RELEASE.xml │ ├── Maven__org_springframework_spring_aop_4_3_8_RELEASE.xml │ ├── Maven__org_springframework_spring_web_4_3_8_RELEASE.xml │ ├── Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_2.xml │ ├── Maven__org_springframework_spring_core_4_3_8_RELEASE.xml │ ├── Maven__io_springfox_springfox_swagger_common_2_7_0.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_8_8.xml │ ├── Maven__org_springframework_spring_beans_4_3_8_RELEASE.xml │ ├── Maven__org_springframework_spring_webmvc_4_3_8_RELEASE.xml │ ├── Maven__org_springframework_spring_aspects_4_3_8_RELEASE.xml │ ├── Maven__org_springframework_spring_context_4_3_8_RELEASE.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml │ ├── Maven__org_springframework_spring_expression_4_3_8_RELEASE.xml │ ├── Maven__org_springframework_plugin_spring_plugin_core_1_2_0_RELEASE.xml │ └── Maven__org_springframework_plugin_spring_plugin_metadata_1_2_0_RELEASE.xml ├── compiler.xml ├── misc.xml ├── markdown-navigator.xml └── uiDesigner.xml ├── src └── main │ ├── webapp │ ├── index.html │ └── WEB-INF │ │ └── web.xml │ ├── resources │ ├── spring-context.xml │ ├── springmvc.xml │ └── log4j.properties │ └── java │ └── com │ └── lovecws │ └── mumu │ └── swagger │ ├── config │ └── SwaggerConfig.java │ └── controller │ └── UserController.java ├── .travis.yml ├── .editorconfig ├── .gitignore ├── mumu-swagger.iml ├── README.md ├── pom.xml └── LICENSE /docs/img/swagger1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mumuweb/mumu-swagger/HEAD/docs/img/swagger1.png -------------------------------------------------------------------------------- /docs/img/swagger2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mumuweb/mumu-swagger/HEAD/docs/img/swagger2.png -------------------------------------------------------------------------------- /docs/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mumuweb/mumu-swagger/HEAD/docs/favicon-16x16.png -------------------------------------------------------------------------------- /docs/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mumuweb/mumu-swagger/HEAD/docs/favicon-32x32.png -------------------------------------------------------------------------------- /docs/swagger-ui.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"swagger-ui.css","sources":[],"mappings":"","sourceRoot":""} -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/dictionaries/Administrator.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /docs/swagger-ui.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"swagger-ui.js","sources":["webpack:///swagger-ui.js"],"mappings":"AAAA;;;;;;AAokeA","sourceRoot":""} -------------------------------------------------------------------------------- /.idea/markdown-navigator/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/main/webapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /docs/swagger-ui-standalone-preset.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"swagger-ui-standalone-preset.js","sources":["webpack:///swagger-ui-standalone-preset.js"],"mappings":"AAAA;;;;;AA80CA;;;;;;AAqpFA","sourceRoot":""} -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | os: linux 3 | 4 | sudo: required 5 | jdk: 6 | - oraclejdk8 7 | 8 | script: mvn clean install cobertura:cobertura 9 | 10 | after_success: 11 | - bash <(curl -s https://codecov.io/bash) 12 | 13 | -------------------------------------------------------------------------------- /docs/swagger-ui-bundle.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"swagger-ui-bundle.js","sources":["webpack:///swagger-ui-bundle.js"],"mappings":"AAAA;;;;;AAu7LA;;;;;;AA65DA;;;;;;;;;;;;;;;;;;;;;;;;;;AA68TA;;;;;;;;;;;;;;AAs8JA;;;;;;;;;AA69pBA;;;;;AA81QA;AAm4DA;;;;;;AAo4YA;;;;;;AA0iaA;AA4lvBA","sourceRoot":""} -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | [*] 2 | charset=utf-8 3 | end_of_line=crlf 4 | insert_final_newline=false 5 | indent_style=space 6 | indent_size=4 7 | 8 | [{.babelrc,.stylelintrc,jest.config,.eslintrc,*.bowerrc,*.jsb3,*.jsb2,*.json}] 9 | indent_style=space 10 | indent_size=2 11 | 12 | [{*.yml,*.yaml}] 13 | indent_style=space 14 | indent_size=2 15 | 16 | -------------------------------------------------------------------------------- /.idea/artifacts/mumu_swagger_war.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | $PROJECT_DIR$/target 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | 4 | # Log file 5 | *.log 6 | 7 | # BlueJ files 8 | *.ctxt 9 | 10 | # Mobile Tools for Java (J2ME) 11 | .mtj.tmp/ 12 | 13 | # Package Files # 14 | *.jar 15 | *.war 16 | *.ear 17 | *.zip 18 | *.tar.gz 19 | *.rar 20 | 21 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 22 | hs_err_pid* 23 | -------------------------------------------------------------------------------- /.idea/copyright/Files.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /.idea/codeStyleSettings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__junit_junit_4_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__log4j_log4j_1_2_17.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_guava_guava_18_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_classmate_1_3_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_xml_stream_stax_api_1_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_6_14.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_slf4j_log4j12_1_7_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_aspectj_aspectjweaver_1_8_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_spi_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_core_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_swagger_swagger_models_1_5_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_javassist_javassist_3_21_0_GA.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_reflections_reflections_0_9_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_jackson_jackson_xc_1_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_schema_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mapstruct_mapstruct_1_1_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_swagger2_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_swagger_swagger_annotations_1_5_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_spring_web_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_swagger_ui_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_8_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_xml_databind_0_6_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_jackson_jackson_core_asl_1_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_tx_4_3_8_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_aop_4_3_8_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_web_4_3_8_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_jackson_jackson_mapper_asl_1_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_core_4_3_8_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_swagger_common_2_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_8_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_beans_4_3_8_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_webmvc_4_3_8_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_aspects_4_3_8_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_context_4_3_8_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_8_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_expression_4_3_8_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_plugin_spring_plugin_core_1_2_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_plugin_spring_plugin_metadata_1_2_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/resources/spring-context.xml: -------------------------------------------------------------------------------- 1 | 2 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/main/resources/springmvc.xml: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootLogger=info, console, log, error 2 | 3 | ###Console ### 4 | log4j.appender.console = org.apache.log4j.ConsoleAppender 5 | log4j.appender.console.Target = System.out 6 | log4j.appender.console.layout = org.apache.log4j.PatternLayout 7 | log4j.appender.console.layout.ConversionPattern = %d %p[%C:%L]- %m%n 8 | 9 | ### log ### 10 | log4j.appender.log = org.apache.log4j.DailyRollingFileAppender 11 | log4j.appender.log.File = ${catalina.base}/logs/debug.log 12 | log4j.appender.log.Append = true 13 | log4j.appender.log.Threshold = DEBUG 14 | log4j.appender.log.DatePattern='.'yyyy-MM-dd 15 | log4j.appender.log.layout = org.apache.log4j.PatternLayout 16 | log4j.appender.log.layout.ConversionPattern = %d %p[%c:%L] - %m%n 17 | 18 | 19 | ### Error ### 20 | log4j.appender.error = org.apache.log4j.DailyRollingFileAppender 21 | log4j.appender.error.File = /logs/error.log 22 | log4j.appender.error.Append = true 23 | log4j.appender.error.Threshold = ERROR 24 | log4j.appender.error.DatePattern='.'yyyy-MM-dd 25 | log4j.appender.error.layout = org.apache.log4j.PatternLayout 26 | log4j.appender.error.layout.ConversionPattern =%d %p[%c:%L] - %m%n 27 | 28 | ###\u8F93\u51FASQL 29 | log4j.logger.com.springframework=DEBUG 30 | log4j.logger.com.ibatis=DEBUG 31 | log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG 32 | log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG 33 | log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG 34 | log4j.logger.java.sql.Connection=DEBUG 35 | log4j.logger.java.sql.Statement=DEBUG 36 | log4j.logger.java.sql.PreparedStatement=DEBUG 37 | log4j.logger.java.sql.ResultSet=DEBUG -------------------------------------------------------------------------------- /src/main/java/com/lovecws/mumu/swagger/config/SwaggerConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | * * 3 | *

Title: ${file_name}

4 | *

Description:

5 | *

Copyright: Copyright (c) 2017

6 | *

Company: www.chuasi.com

7 | * @author babymm 8 | * @date ${date} 9 | * @version 1.0 10 | * / 11 | */ 12 | 13 | package com.lovecws.mumu.swagger.config; 14 | 15 | import org.springframework.context.annotation.Bean; 16 | import org.springframework.context.annotation.ComponentScan; 17 | import org.springframework.context.annotation.Configuration; 18 | import org.springframework.web.servlet.config.annotation.EnableWebMvc; 19 | import springfox.documentation.builders.ApiInfoBuilder; 20 | import springfox.documentation.builders.PathSelectors; 21 | import springfox.documentation.builders.RequestHandlerSelectors; 22 | import springfox.documentation.service.ApiInfo; 23 | import springfox.documentation.spi.DocumentationType; 24 | import springfox.documentation.spring.web.plugins.Docket; 25 | import springfox.documentation.swagger2.annotations.EnableSwagger2; 26 | 27 | @EnableWebMvc 28 | @EnableSwagger2 29 | @ComponentScan(basePackages = {"com.lovecws.mumu.swagger.controller"}) 30 | @Configuration 31 | public class SwaggerConfig { 32 | 33 | /** 34 | * Create rest api docket. 35 | * 36 | * @return the docket 37 | */ 38 | @Bean 39 | public Docket createRestApi() { 40 | return new Docket(DocumentationType.SWAGGER_2) 41 | .apiInfo(apiInfo()) 42 | //.groupName("用户管理") 43 | .forCodeGeneration(true) 44 | .select() 45 | .apis(RequestHandlerSelectors.basePackage("com.lovecws.mumu.swagger")) 46 | .paths(PathSelectors.any()) 47 | .build(); 48 | } 49 | 50 | private ApiInfo apiInfo() { 51 | return new ApiInfoBuilder() 52 | .title("Spring 中使用Swagger2构建RESTful APIs") 53 | .description("更多Spring Boot相关文章请关注:http://www.babymm.com/") 54 | .termsOfServiceUrl("http://www.babymm.com/") 55 | .contact("baby慕慕") 56 | .version("1.0") 57 | .build(); 58 | } 59 | } -------------------------------------------------------------------------------- /docs/oauth2-redirect.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 58 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | mumu-swagger 7 | 8 | HiddenHttpMethodFilter 9 | org.springframework.web.filter.HiddenHttpMethodFilter 10 | 11 | 12 | HiddenHttpMethodFilter 13 | springmvc 14 | 15 | 16 | 17 | springmvc 18 | org.springframework.web.servlet.DispatcherServlet 19 | 20 | contextConfigLocation 21 | classpath:springmvc.xml 22 | 23 | 1 24 | 25 | 26 | springmvc 27 | / 28 | 29 | 30 | 31 | org.springframework.web.context.ContextLoaderListener 32 | 33 | 34 | contextConfigLocation 35 | classpath:spring-context.xml 36 | 37 | 38 | org.springframework.web.util.IntrospectorCleanupListener 39 | 40 | 41 | 42 | encodingFilter 43 | org.springframework.web.filter.CharacterEncodingFilter 44 | true 45 | 46 | encoding 47 | UTF-8 48 | 49 | 50 | forceEncoding 51 | true 52 | 53 | 54 | 55 | encodingFilter 56 | /* 57 | 58 | 59 | 60 | 30 61 | 62 | 63 | 64 | index.html 65 | 66 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Swagger UI 7 | 8 | 9 | 10 | 11 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |
69 | 70 | 71 | 72 | 94 | 95 | 96 | 97 | -------------------------------------------------------------------------------- /.idea/markdown-navigator.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 36 | 37 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /src/main/java/com/lovecws/mumu/swagger/controller/UserController.java: -------------------------------------------------------------------------------- 1 | package com.lovecws.mumu.swagger.controller; 2 | 3 | import io.swagger.annotations.Api; 4 | import io.swagger.annotations.ApiImplicitParam; 5 | import io.swagger.annotations.ApiImplicitParams; 6 | import io.swagger.annotations.ApiOperation; 7 | import org.springframework.web.bind.annotation.*; 8 | 9 | import java.util.*; 10 | 11 | /** 12 | * The type User controller. 13 | */ 14 | @RestController 15 | @RequestMapping(value = "/users") 16 | @Api(value = "用户controller", tags = {"用户操作接口"}, description = "用户操作接口") 17 | public class UserController { 18 | /** 19 | * The Users. 20 | */ 21 | static Map users = Collections.synchronizedMap(new HashMap()); 22 | 23 | /** 24 | * Gets user list. 25 | * 26 | * @return the user list 27 | */ 28 | @ApiOperation(value = "获取用户列表", notes = "") 29 | @RequestMapping(value = {""}, method = RequestMethod.GET) 30 | public List getUserList() { 31 | List r = new ArrayList(users.values()); 32 | return r; 33 | } 34 | 35 | /** 36 | * Post user string. 37 | * 38 | * @param user the user 39 | * @return the string 40 | */ 41 | @ApiOperation(value = "创建用户", notes = "根据User对象创建用户") 42 | @ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataType = "User") 43 | @RequestMapping(value = "", method = RequestMethod.POST) 44 | public String postUser(@RequestBody User user) { 45 | users.put(user.getId(), user); 46 | return "success"; 47 | } 48 | 49 | /** 50 | * Gets user. 51 | * 52 | * @param id the id 53 | * @return the user 54 | */ 55 | @ApiOperation(value = "获取用户详细信息", notes = "根据url的id来获取用户详细信息") 56 | @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "long") 57 | @RequestMapping(value = "/{id}", method = RequestMethod.GET) 58 | public User getUser(@PathVariable long id) { 59 | return users.get(id); 60 | } 61 | 62 | /** 63 | * Put user string. 64 | * 65 | * @param id the id 66 | * @param user the user 67 | * @return the string 68 | */ 69 | @ApiOperation(value = "更新用户详细信息", notes = "根据url的id来指定更新对象,并根据传过来的user信息来更新用户详细信息") 70 | @ApiImplicitParams({ 71 | @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "long"), 72 | @ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataType = "User") 73 | }) 74 | @RequestMapping(value = "/{id}", method = RequestMethod.PUT) 75 | public String putUser(@PathVariable long id, @RequestBody User user) { 76 | User u = users.get(id); 77 | u.setName(user.getName()); 78 | u.setAge(user.getAge()); 79 | users.put(id, u); 80 | return "success"; 81 | } 82 | 83 | /** 84 | * Delete user string. 85 | * 86 | * @param id the id 87 | * @return the string 88 | */ 89 | @ApiOperation(value = "删除用户", notes = "根据url的id来指定删除对象") 90 | @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "long") 91 | @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) 92 | public String deleteUser(@PathVariable long id) { 93 | users.remove(id); 94 | return "success"; 95 | } 96 | 97 | /** 98 | * The type User. 99 | */ 100 | public static class User { 101 | private String name; 102 | private int age; 103 | private long id; 104 | 105 | /** 106 | * Gets name. 107 | * 108 | * @return the name 109 | */ 110 | public String getName() { 111 | return name; 112 | } 113 | 114 | /** 115 | * Sets name. 116 | * 117 | * @param name the name 118 | */ 119 | public void setName(String name) { 120 | this.name = name; 121 | } 122 | 123 | /** 124 | * Gets age. 125 | * 126 | * @return the age 127 | */ 128 | public int getAge() { 129 | return age; 130 | } 131 | 132 | /** 133 | * Sets age. 134 | * 135 | * @param age the age 136 | */ 137 | public void setAge(int age) { 138 | this.age = age; 139 | } 140 | 141 | /** 142 | * Gets id. 143 | * 144 | * @return the id 145 | */ 146 | public long getId() { 147 | return id; 148 | } 149 | 150 | /** 151 | * Sets id. 152 | * 153 | * @param id the id 154 | */ 155 | public void setId(long id) { 156 | this.id = id; 157 | } 158 | } 159 | } -------------------------------------------------------------------------------- /.idea/artifacts/mumu_swagger_war_exploded.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | $PROJECT_DIR$/target/mumu-swagger 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /mumu-swagger.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # mumu-swagger spring集成swagger2 2 | [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/mumudemo/mumu-kafka/blob/master/LICENSE) 3 | [![Maven Central](https://img.shields.io/maven-central/v/com.weibo/motan.svg?label=Maven%20Central)](https://github.com/mumuweb/mumu-swagger) 4 | [![Build Status](https://travis-ci.org/mumuweb/mumu-swagger.svg?branch=master)](https://travis-ci.org/mumuweb/mumu-swagger) 5 | [![codecov](https://codecov.io/gh/mumuweb/mumu-swagger/branch/master/graph/badge.svg)](https://codecov.io/gh/mumuweb/mumu-swagger) 6 | [![OpenTracing-1.0 Badge](https://img.shields.io/badge/OpenTracing--1.0-enabled-blue.svg)](http://opentracing.io) 7 | 8 | ***Swagger is the world’s largest framework of API developer tools for the OpenAPI Specification(OAS), enabling development across the entire API lifecycle, from design and documentation, to test and deployment.*** 9 | 10 | ## swagger简介 11 | > Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。本文简单介绍了在项目中集成swagger的方法和一些常见问题。如果想深入分析项目源码,了解更多内容,见参考资料。 12 | > Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。 13 | 14 | ## swagger 集成 15 | **引入maven** 16 | ``` 17 | 18 | io.springfox 19 | springfox-swagger2 20 | 2.7.0 21 | 22 | 23 | io.springfox 24 | springfox-swagger-ui 25 | 2.7.0 26 | 27 | ``` 28 | **springMVC配置** 29 | ``` 30 | 31 | 32 | 33 | 34 | 35 | ``` 36 | 37 | **swagger配置类** 38 | ``` 39 | @EnableWebMvc 40 | @EnableSwagger2 41 | @ComponentScan(basePackages = {"com.lovecws.mumu.swagger.controller"}) 42 | @Configuration 43 | public class SwaggerConfig { 44 | 45 | @Bean 46 | public Docket createRestApi() { 47 | return new Docket(DocumentationType.SWAGGER_2) 48 | .apiInfo(apiInfo()) 49 | //.groupName("用户管理") 50 | .forCodeGeneration(true) 51 | .select() 52 | .apis(RequestHandlerSelectors.basePackage("com.lovecws.mumu.swagger")) 53 | .paths(PathSelectors.any()) 54 | .build(); 55 | } 56 | 57 | private ApiInfo apiInfo() { 58 | return new ApiInfoBuilder() 59 | .title("Spring 中使用Swagger2构建RESTful APIs") 60 | .description("更多babymm相关文章请关注:http://www.chuasi.com/") 61 | .termsOfServiceUrl("http://www.chuasi.com/") 62 | .contact("baby慕慕") 63 | .version("1.0") 64 | .build(); 65 | } 66 | } 67 | ``` 68 | **如果要是springBoot集成swagger2的时候 可以不要@EnableWebMvc注解,但是当spring集成swagger2的时候需要该配置,要不然会报错** 69 | 70 | **controller编写** 71 | ``` 72 | @RestController 73 | @RequestMapping(value = "/users") 74 | @Api(value = "用户controller", tags = {"用户操作接口"}, description = "用户操作接口") 75 | public class UserController { 76 | static Map users = Collections.synchronizedMap(new HashMap()); 77 | 78 | @ApiOperation(value = "获取用户列表", notes = "") 79 | @RequestMapping(value = {""}, method = RequestMethod.GET) 80 | public List getUserList() { 81 | List r = new ArrayList(users.values()); 82 | return r; 83 | } 84 | 85 | @ApiOperation(value = "创建用户", notes = "根据User对象创建用户") 86 | @ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataType = "User") 87 | @RequestMapping(value = "", method = RequestMethod.POST) 88 | public String postUser(@RequestBody User user) { 89 | users.put(user.getId(), user); 90 | return "success"; 91 | } 92 | 93 | @ApiOperation(value = "获取用户详细信息", notes = "根据url的id来获取用户详细信息") 94 | @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Long") 95 | @RequestMapping(value = "/{id}", method = RequestMethod.GET) 96 | public User getUser(@PathVariable Long id) { 97 | return users.get(id); 98 | } 99 | 100 | @ApiOperation(value = "更新用户详细信息", notes = "根据url的id来指定更新对象,并根据传过来的user信息来更新用户详细信息") 101 | @ApiImplicitParams({ 102 | @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Long"), 103 | @ApiImplicitParam(name = "user", value = "用户详细实体user", required = true, dataType = "User") 104 | }) 105 | @RequestMapping(value = "/{id}", method = RequestMethod.PUT) 106 | public String putUser(@PathVariable Long id, @RequestBody User user) { 107 | User u = users.get(id); 108 | u.setName(user.getName()); 109 | u.setAge(user.getAge()); 110 | users.put(id, u); 111 | return "success"; 112 | } 113 | 114 | @ApiOperation(value = "删除用户", notes = "根据url的id来指定删除对象") 115 | @ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Long") 116 | @RequestMapping(value = "/{id}", method = RequestMethod.DELETE) 117 | public String deleteUser(@PathVariable Long id) { 118 | users.remove(id); 119 | return "success"; 120 | } 121 | 122 | public static class User { 123 | private String name; 124 | private int age; 125 | private Long id; 126 | 127 | public String getName() { 128 | return name; 129 | } 130 | 131 | public void setName(String name) { 132 | this.name = name; 133 | } 134 | 135 | public int getAge() { 136 | return age; 137 | } 138 | 139 | public void setAge(int age) { 140 | this.age = age; 141 | } 142 | 143 | public Long getId() { 144 | return id; 145 | } 146 | 147 | public void setId(Long id) { 148 | this.id = id; 149 | } 150 | } 151 | ``` 152 | 153 | **运行效果** 154 | ![运行效果图1](https://github.com/mumuweb/mumu-swagger/blob/master/docs/img/swagger1.png) 155 | ![运行效果图2](https://github.com/mumuweb/mumu-swagger/blob/master/docs/img/swagger1.png) 156 | 157 | 查看文档详情,请点击[https://mumuweb.github.io/mumu-swagger/](https://mumuweb.github.io/mumu-swagger/) 158 | ## 相关阅读 159 | [swagger源码](https://github.com/swagger-api) 160 | [swagger官网地址](https://swagger.io/) 161 | 162 | ## 联系方式 163 | **以上观点纯属个人看法,如有不同,欢迎指正。 164 | email: 165 | github:[https://github.com/babymm](https://github.com/babymm)** 166 | -------------------------------------------------------------------------------- /docs/swagger.json: -------------------------------------------------------------------------------- 1 | { 2 | "swagger": "2.0", 3 | "info": { 4 | "description": "更多Spring Boot相关文章请关注:http://www.babymm.com/", 5 | "version": "1.0", 6 | "title": "Spring 中使用Swagger2构建RESTful APIs", 7 | "termsOfService": "http://www.babymm.com/", 8 | "contact": { 9 | "name": "baby慕慕" 10 | } 11 | }, 12 | "host": "localhost:8080", 13 | "basePath": "/swagger", 14 | "tags": [ 15 | { 16 | "name": "用户操作接口", 17 | "description": "用户操作接口" 18 | } 19 | ], 20 | "paths": { 21 | "/users": { 22 | "get": { 23 | "tags": [ 24 | "user-controller" 25 | ], 26 | "summary": "获取用户列表", 27 | "operationId": "getUserListUsingGET", 28 | "consumes": [ 29 | "application/json" 30 | ], 31 | "produces": [ 32 | "*/*" 33 | ], 34 | "responses": { 35 | "200": { 36 | "description": "OK", 37 | "schema": { 38 | "type": "array", 39 | "items": { 40 | "$ref": "#/definitions/User" 41 | } 42 | } 43 | }, 44 | "401": { 45 | "description": "Unauthorized" 46 | }, 47 | "403": { 48 | "description": "Forbidden" 49 | }, 50 | "404": { 51 | "description": "Not Found" 52 | } 53 | } 54 | }, 55 | "post": { 56 | "tags": [ 57 | "user-controller" 58 | ], 59 | "summary": "创建用户", 60 | "description": "根据User对象创建用户", 61 | "operationId": "postUserUsingPOST", 62 | "consumes": [ 63 | "application/json" 64 | ], 65 | "produces": [ 66 | "*/*" 67 | ], 68 | "parameters": [ 69 | { 70 | "in": "body", 71 | "name": "user", 72 | "description": "用户详细实体user", 73 | "required": true, 74 | "schema": { 75 | "$ref": "#/definitions/User" 76 | } 77 | } 78 | ], 79 | "responses": { 80 | "200": { 81 | "description": "OK", 82 | "schema": { 83 | "type": "string" 84 | } 85 | }, 86 | "201": { 87 | "description": "Created" 88 | }, 89 | "401": { 90 | "description": "Unauthorized" 91 | }, 92 | "403": { 93 | "description": "Forbidden" 94 | }, 95 | "404": { 96 | "description": "Not Found" 97 | } 98 | } 99 | } 100 | }, 101 | "/users/{id}": { 102 | "get": { 103 | "tags": [ 104 | "user-controller" 105 | ], 106 | "summary": "获取用户详细信息", 107 | "description": "根据url的id来获取用户详细信息", 108 | "operationId": "getUserUsingGET", 109 | "consumes": [ 110 | "application/json" 111 | ], 112 | "produces": [ 113 | "*/*" 114 | ], 115 | "parameters": [ 116 | { 117 | "in": "body", 118 | "name": "id", 119 | "description": "用户ID", 120 | "required": true, 121 | "schema": { 122 | "type": "integer", 123 | "format": "int64" 124 | } 125 | } 126 | ], 127 | "responses": { 128 | "200": { 129 | "description": "OK", 130 | "schema": { 131 | "$ref": "#/definitions/User" 132 | } 133 | }, 134 | "401": { 135 | "description": "Unauthorized" 136 | }, 137 | "403": { 138 | "description": "Forbidden" 139 | }, 140 | "404": { 141 | "description": "Not Found" 142 | } 143 | } 144 | }, 145 | "put": { 146 | "tags": [ 147 | "user-controller" 148 | ], 149 | "summary": "更新用户详细信息", 150 | "description": "根据url的id来指定更新对象,并根据传过来的user信息来更新用户详细信息", 151 | "operationId": "putUserUsingPUT", 152 | "consumes": [ 153 | "application/json" 154 | ], 155 | "produces": [ 156 | "*/*" 157 | ], 158 | "parameters": [ 159 | { 160 | "in": "body", 161 | "name": "id", 162 | "description": "用户ID", 163 | "required": true, 164 | "schema": { 165 | "type": "integer", 166 | "format": "int64" 167 | } 168 | }, 169 | { 170 | "in": "body", 171 | "name": "user", 172 | "description": "用户详细实体user", 173 | "required": true, 174 | "schema": { 175 | "$ref": "#/definitions/User" 176 | } 177 | } 178 | ], 179 | "responses": { 180 | "200": { 181 | "description": "OK", 182 | "schema": { 183 | "type": "string" 184 | } 185 | }, 186 | "201": { 187 | "description": "Created" 188 | }, 189 | "401": { 190 | "description": "Unauthorized" 191 | }, 192 | "403": { 193 | "description": "Forbidden" 194 | }, 195 | "404": { 196 | "description": "Not Found" 197 | } 198 | } 199 | }, 200 | "delete": { 201 | "tags": [ 202 | "user-controller" 203 | ], 204 | "summary": "删除用户", 205 | "description": "根据url的id来指定删除对象", 206 | "operationId": "deleteUserUsingDELETE", 207 | "consumes": [ 208 | "application/json" 209 | ], 210 | "produces": [ 211 | "*/*" 212 | ], 213 | "parameters": [ 214 | { 215 | "in": "body", 216 | "name": "id", 217 | "description": "用户ID", 218 | "required": true, 219 | "schema": { 220 | "type": "integer", 221 | "format": "int64" 222 | } 223 | } 224 | ], 225 | "responses": { 226 | "200": { 227 | "description": "OK", 228 | "schema": { 229 | "type": "string" 230 | } 231 | }, 232 | "204": { 233 | "description": "No Content" 234 | }, 235 | "401": { 236 | "description": "Unauthorized" 237 | }, 238 | "403": { 239 | "description": "Forbidden" 240 | } 241 | } 242 | } 243 | } 244 | }, 245 | "definitions": { 246 | "User": { 247 | "type": "object", 248 | "properties": { 249 | "age": { 250 | "type": "integer", 251 | "format": "int32" 252 | }, 253 | "id": { 254 | "type": "integer", 255 | "format": "int64" 256 | }, 257 | "name": { 258 | "type": "string" 259 | } 260 | } 261 | } 262 | } 263 | } -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | com.lovecws.mumu 5 | mumu-swagger 6 | war 7 | 1.0-SNAPSHOT 8 | mumu-swagger Maven Webapp 9 | http://maven.apache.org 10 | 11 | 12 | UTF-8 13 | 192.168.0.25:8081 14 | 15 | 16 | 17 | 18 | junit 19 | junit 20 | 4.12 21 | test 22 | 23 | 24 | 25 | 26 | com.fasterxml.jackson.core 27 | jackson-core 28 | 2.8.8 29 | 30 | 31 | com.fasterxml 32 | jackson-xml-databind 33 | 0.6.2 34 | 35 | 36 | com.fasterxml.jackson.core 37 | jackson-databind 38 | 2.8.8 39 | 40 | 41 | 42 | 43 | log4j 44 | log4j 45 | 1.2.17 46 | 47 | 48 | org.slf4j 49 | slf4j-api 50 | 1.7.5 51 | 52 | 53 | org.slf4j 54 | slf4j-log4j12 55 | 1.7.5 56 | 57 | 58 | 59 | 60 | io.springfox 61 | springfox-swagger2 62 | 2.7.0 63 | 64 | 65 | io.springfox 66 | springfox-swagger-ui 67 | 2.7.0 68 | 69 | 70 | 71 | 72 | org.springframework 73 | spring-beans 74 | 4.3.8.RELEASE 75 | 76 | 77 | org.springframework 78 | spring-tx 79 | 4.3.8.RELEASE 80 | 81 | 82 | org.springframework 83 | spring-aspects 84 | 4.3.8.RELEASE 85 | 86 | 87 | 88 | org.springframework 89 | spring-web 90 | 4.3.8.RELEASE 91 | 92 | 93 | org.springframework 94 | spring-webmvc 95 | 4.3.8.RELEASE 96 | 97 | 98 | 99 | javax.servlet 100 | javax.servlet-api 101 | 3.1.0 102 | provided 103 | 104 | 105 | 106 | 107 | 108 | 109 | lovecws 110 | ganliang 111 | lovercws@gmail.com 112 | 113 | admin 114 | 115 | 8 116 | baby慕慕 117 | 118 | 119 | 120 | 121 | 122 | 123 | releases 124 | huasi releases repository 125 | http://${nexus.url}/nexus/content/repositories/releases/ 126 | true 127 | 128 | 129 | snapshots 130 | huasi snapshots repository 131 | http://${nexus.url}/nexus/content/repositories/snapshots/ 132 | true 133 | 134 | 135 | 136 | 137 | mumu-swagger 138 | 139 | 140 | src/main/resources 141 | true 142 | 143 | 144 | 145 | 146 | 147 | org.apache.maven.plugins 148 | maven-compiler-plugin 149 | 3.1 150 | 151 | 1.8 152 | 1.8 153 | UTF-8 154 | 155 | 156 | 157 | 158 | org.apache.maven.plugins 159 | maven-jar-plugin 160 | 2.4 161 | 162 | 163 | 164 | org.apache.maven.plugins 165 | maven-install-plugin 166 | 2.4 167 | 168 | 169 | 170 | org.apache.maven.plugins 171 | maven-deploy-plugin 172 | 2.7 173 | 174 | 175 | 176 | org.apache.maven.plugins 177 | maven-source-plugin 178 | 2.2.1 179 | 180 | 181 | attach-sources 182 | 183 | jar-no-fork 184 | 185 | 186 | 187 | 188 | 189 | org.codehaus.mojo 190 | cobertura-maven-plugin 191 | 2.7 192 | 193 | 194 | html 195 | xml 196 | 197 | 198 | 199 | 200 | 201 | org.apache.maven.plugins 202 | maven-javadoc-plugin 203 | 2.9.1 204 | 205 | true 206 | 207 | 208 | Description 209 | a 210 | 用途 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | -------------------------------------------------------------------------------- /.idea/uiDesigner.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /docs/swagger-ui.css: -------------------------------------------------------------------------------- 1 | .swagger-ui{font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .wrapper{width:100%;max-width:1460px;margin:0 auto;padding:0 20px}.swagger-ui .opblock-tag-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swagger-ui .opblock-tag{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px 20px 10px 10px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;border-bottom:1px solid rgba(59,65,81,.3)}.swagger-ui .opblock-tag:hover{background:rgba(0,0,0,.02)}.swagger-ui .opblock-tag{font-size:24px;margin:0 0 5px;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .opblock-tag.no-desc span{-webkit-box-flex:1;-ms-flex:1;flex:1}.swagger-ui .opblock-tag svg{-webkit-transition:all .4s;transition:all .4s}.swagger-ui .opblock-tag small{font-size:14px;font-weight:400;-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .parameter__type{font-size:12px;padding:5px 0;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui .view-line-link{position:relative;top:3px;width:20px;margin:0 5px;cursor:pointer;-webkit-transition:all .5s;transition:all .5s}.swagger-ui .opblock{margin:0 0 15px;border:1px solid #000;border-radius:4px;-webkit-box-shadow:0 0 3px rgba(0,0,0,.19);box-shadow:0 0 3px rgba(0,0,0,.19)}.swagger-ui .opblock .tab-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1}.swagger-ui .opblock .tab-header .tab-item{padding:0 40px;cursor:pointer}.swagger-ui .opblock .tab-header .tab-item:first-of-type{padding:0 40px 0 0}.swagger-ui .opblock .tab-header .tab-item.active h4 span{position:relative}.swagger-ui .opblock .tab-header .tab-item.active h4 span:after{position:absolute;bottom:-15px;left:50%;width:120%;height:4px;content:"";-webkit-transform:translateX(-50%);transform:translateX(-50%);background:#888}.swagger-ui .opblock.is-open .opblock-summary{border-bottom:1px solid #000}.swagger-ui .opblock .opblock-section-header{padding:8px 20px;min-height:50px;background:hsla(0,0%,100%,.8);-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.swagger-ui .opblock .opblock-section-header,.swagger-ui .opblock .opblock-section-header label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .opblock .opblock-section-header label{font-size:12px;font-weight:700;margin:0;margin-left:auto;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .opblock .opblock-section-header label span{padding:0 10px 0 0}.swagger-ui .opblock .opblock-section-header h4{font-size:14px;-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .opblock .opblock-summary-method{font-size:14px;font-weight:700;min-width:80px;padding:6px 15px;text-align:center;border-radius:3px;background:#000;text-shadow:0 1px 0 rgba(0,0,0,.1);font-family:Titillium Web,sans-serif;color:#fff}.swagger-ui .opblock .opblock-summary-operation-id,.swagger-ui .opblock .opblock-summary-path,.swagger-ui .opblock .opblock-summary-path__deprecated{font-size:16px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 10px;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui .opblock .opblock-summary-operation-id .view-line-link,.swagger-ui .opblock .opblock-summary-path .view-line-link,.swagger-ui .opblock .opblock-summary-path__deprecated .view-line-link{position:relative;top:2px;width:0;margin:0;cursor:pointer;-webkit-transition:all .5s;transition:all .5s}.swagger-ui .opblock .opblock-summary-operation-id:hover .view-line-link,.swagger-ui .opblock .opblock-summary-path:hover .view-line-link,.swagger-ui .opblock .opblock-summary-path__deprecated:hover .view-line-link{width:18px;margin:0 5px}.swagger-ui .opblock .opblock-summary-path__deprecated{text-decoration:line-through}.swagger-ui .opblock .opblock-summary-operation-id{font-size:14px}.swagger-ui .opblock .opblock-summary-description{font-size:13px;-webkit-box-flex:1;-ms-flex:1;flex:1;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .opblock .opblock-summary{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:5px;cursor:pointer}.swagger-ui .opblock.opblock-post{border-color:#49cc90;background:rgba(73,204,144,.1)}.swagger-ui .opblock.opblock-post .opblock-summary-method{background:#49cc90}.swagger-ui .opblock.opblock-post .opblock-summary{border-color:#49cc90}.swagger-ui .opblock.opblock-post .tab-header .tab-item.active h4 span:after{background:#49cc90}.swagger-ui .opblock.opblock-put{border-color:#fca130;background:rgba(252,161,48,.1)}.swagger-ui .opblock.opblock-put .opblock-summary-method{background:#fca130}.swagger-ui .opblock.opblock-put .opblock-summary{border-color:#fca130}.swagger-ui .opblock.opblock-put .tab-header .tab-item.active h4 span:after{background:#fca130}.swagger-ui .opblock.opblock-delete{border-color:#f93e3e;background:rgba(249,62,62,.1)}.swagger-ui .opblock.opblock-delete .opblock-summary-method{background:#f93e3e}.swagger-ui .opblock.opblock-delete .opblock-summary{border-color:#f93e3e}.swagger-ui .opblock.opblock-delete .tab-header .tab-item.active h4 span:after{background:#f93e3e}.swagger-ui .opblock.opblock-get{border-color:#61affe;background:rgba(97,175,254,.1)}.swagger-ui .opblock.opblock-get .opblock-summary-method{background:#61affe}.swagger-ui .opblock.opblock-get .opblock-summary{border-color:#61affe}.swagger-ui .opblock.opblock-get .tab-header .tab-item.active h4 span:after{background:#61affe}.swagger-ui .opblock.opblock-patch{border-color:#50e3c2;background:rgba(80,227,194,.1)}.swagger-ui .opblock.opblock-patch .opblock-summary-method{background:#50e3c2}.swagger-ui .opblock.opblock-patch .opblock-summary{border-color:#50e3c2}.swagger-ui .opblock.opblock-patch .tab-header .tab-item.active h4 span:after{background:#50e3c2}.swagger-ui .opblock.opblock-head{border-color:#9012fe;background:rgba(144,18,254,.1)}.swagger-ui .opblock.opblock-head .opblock-summary-method{background:#9012fe}.swagger-ui .opblock.opblock-head .opblock-summary{border-color:#9012fe}.swagger-ui .opblock.opblock-head .tab-header .tab-item.active h4 span:after{background:#9012fe}.swagger-ui .opblock.opblock-options{border-color:#0d5aa7;background:rgba(13,90,167,.1)}.swagger-ui .opblock.opblock-options .opblock-summary-method{background:#0d5aa7}.swagger-ui .opblock.opblock-options .opblock-summary{border-color:#0d5aa7}.swagger-ui .opblock.opblock-options .tab-header .tab-item.active h4 span:after{background:#0d5aa7}.swagger-ui .opblock.opblock-deprecated{opacity:.6;border-color:#ebebeb;background:hsla(0,0%,92%,.1)}.swagger-ui .opblock.opblock-deprecated .opblock-summary-method{background:#ebebeb}.swagger-ui .opblock.opblock-deprecated .opblock-summary{border-color:#ebebeb}.swagger-ui .opblock.opblock-deprecated .tab-header .tab-item.active h4 span:after{background:#ebebeb}.swagger-ui .opblock .opblock-schemes{padding:8px 20px}.swagger-ui .opblock .opblock-schemes .schemes-title{padding:0 10px 0 0}.swagger-ui .filter .operation-filter-input{width:100%;margin:20px 0;padding:10px;border:2px solid #d8dde7}.swagger-ui .tab{display:-webkit-box;display:-ms-flexbox;display:flex;margin:20px 0 10px;padding:0;list-style:none}.swagger-ui .tab li{font-size:12px;min-width:100px;min-width:90px;padding:0;cursor:pointer;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .tab li:first-of-type{position:relative;padding-left:0}.swagger-ui .tab li:first-of-type:after{position:absolute;top:0;right:6px;width:1px;height:100%;content:"";background:rgba(0,0,0,.2)}.swagger-ui .tab li.active{font-weight:700}.swagger-ui .opblock-description-wrapper,.swagger-ui .opblock-external-docs-wrapper,.swagger-ui .opblock-title_normal{font-size:12px;margin:0 0 5px;padding:15px 20px;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .opblock-description-wrapper h4,.swagger-ui .opblock-external-docs-wrapper h4,.swagger-ui .opblock-title_normal h4{font-size:12px;margin:0 0 5px;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .opblock-description-wrapper p,.swagger-ui .opblock-external-docs-wrapper p,.swagger-ui .opblock-title_normal p{font-size:14px;margin:0;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .opblock-external-docs-wrapper h4{padding-left:0}.swagger-ui .execute-wrapper{padding:20px;text-align:right}.swagger-ui .execute-wrapper .btn{width:100%;padding:8px 40px}.swagger-ui .body-param-options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swagger-ui .body-param-options .body-param-edit{padding:10px 0}.swagger-ui .body-param-options label{padding:8px 0}.swagger-ui .body-param-options label select{margin:3px 0 0}.swagger-ui .responses-inner{padding:20px}.swagger-ui .responses-inner h4,.swagger-ui .responses-inner h5{font-size:12px;margin:10px 0 5px;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .response-col_status{font-size:14px;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .response-col_status .response-undocumented{font-size:11px;font-family:Source Code Pro,monospace;font-weight:600;color:#999}.swagger-ui .response-col_links{padding-left:2em;max-width:40em;font-size:14px;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .response-col_links .response-undocumented{font-size:11px;font-family:Source Code Pro,monospace;font-weight:600;color:#999}.swagger-ui .response-col_description__inner span{font-size:12px;font-style:italic;display:block;margin:10px 0;padding:10px;border-radius:4px;background:#41444e;font-family:Source Code Pro,monospace;font-weight:600;color:#fff}.swagger-ui .response-col_description__inner span p{margin:0}.swagger-ui .response-col_description__inner span a{font-family:Source Code Pro,monospace;font-weight:600;color:#89bf04;text-decoration:underline}.swagger-ui .response-col_description__inner span a:hover{color:#81b10c}.swagger-ui .opblock-body pre{font-size:12px;margin:0;padding:10px;white-space:pre-wrap;word-wrap:break-word;word-break:break-all;word-break:break-word;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;border-radius:4px;background:#41444e;overflow-wrap:break-word;font-family:Source Code Pro,monospace;font-weight:600;color:#fff}.swagger-ui .opblock-body pre span{color:#fff!important}.swagger-ui .opblock-body pre .headerline{display:block}.swagger-ui .scheme-container{margin:0 0 20px;padding:30px 0;background:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.15);box-shadow:0 1px 2px 0 rgba(0,0,0,.15)}.swagger-ui .scheme-container .schemes{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .scheme-container .schemes>label{font-size:12px;font-weight:700;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:-20px 15px 0 0;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .scheme-container .schemes>label select{min-width:130px;text-transform:uppercase}.swagger-ui .server-container{margin:0 0 20px;padding:30px 0;background:#fff;-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.15);box-shadow:0 1px 2px 0 rgba(0,0,0,.15)}.swagger-ui .server-container .computed-url{margin:2em 0}.swagger-ui .server-container .computed-url code{color:grey;display:inline-block;padding:4px;font-size:16px;margin:0 1em;font-style:italic}.swagger-ui .server-container .servers{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .server-container .servers .servers-title{margin-right:1em}.swagger-ui .server-container .servers>label{font-size:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:-20px 15px 0 0;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .server-container .servers>label select{min-width:130px}.swagger-ui .server-container .servers table tr{width:30em}.swagger-ui .server-container .servers table td{display:inline-block;max-width:15em;vertical-align:middle;padding-top:10px;padding-bottom:10px}.swagger-ui .server-container .servers table td:first-of-type{padding-right:2em}.swagger-ui .server-container .servers table td input{width:100%;height:100%}.swagger-ui .loading-container{padding:40px 0 60px}.swagger-ui .loading-container .loading{position:relative}.swagger-ui .loading-container .loading:after{font-size:10px;font-weight:700;position:absolute;top:50%;left:50%;content:"loading";-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-transform:uppercase;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .loading-container .loading:before{position:absolute;top:50%;left:50%;display:block;width:60px;height:60px;margin:-30px;content:"";-webkit-animation:rotation 1s infinite linear,opacity .5s;animation:rotation 1s infinite linear,opacity .5s;opacity:1;border:2px solid rgba(85,85,85,.1);border-top-color:rgba(0,0,0,.6);border-radius:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}@-webkit-keyframes rotation{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotation{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.swagger-ui .renderedMarkdown p{font-family:Open Sans,sans-serif;color:#3b4151;margin-top:0;margin-bottom:0}.swagger-ui .response-content-type{padding-top:1em}@-webkit-keyframes blinker{50%{opacity:0}}@keyframes blinker{50%{opacity:0}}.swagger-ui section h3{font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui a.nostyle{display:inline}.swagger-ui a.nostyle,.swagger-ui a.nostyle:visited{text-decoration:inherit;color:inherit;cursor:pointer}.swagger-ui .btn{font-size:14px;font-weight:700;padding:5px 23px;-webkit-transition:all .3s;transition:all .3s;border:2px solid #888;border-radius:4px;background:transparent;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1);font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .btn.btn-sm{font-size:12px;padding:4px 23px}.swagger-ui .btn[disabled]{cursor:not-allowed;opacity:.3}.swagger-ui .btn:hover{-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.swagger-ui .btn.cancel{border-color:#ff6060;font-family:Titillium Web,sans-serif;color:#ff6060}.swagger-ui .btn.authorize{line-height:1;display:inline;color:#49cc90;border-color:#49cc90}.swagger-ui .btn.authorize span{float:left;padding:4px 20px 0 0}.swagger-ui .btn.authorize svg{fill:#49cc90}.swagger-ui .btn.execute{-webkit-animation:swagger-ui-pulse 2s infinite;animation:swagger-ui-pulse 2s infinite;color:#fff;border-color:#4990e2}@-webkit-keyframes swagger-ui-pulse{0%{color:#fff;background:#4990e2;-webkit-box-shadow:0 0 0 0 rgba(73,144,226,.8);box-shadow:0 0 0 0 rgba(73,144,226,.8)}70%{-webkit-box-shadow:0 0 0 5px rgba(73,144,226,0);box-shadow:0 0 0 5px rgba(73,144,226,0)}to{color:#fff;background:#4990e2;-webkit-box-shadow:0 0 0 0 rgba(73,144,226,0);box-shadow:0 0 0 0 rgba(73,144,226,0)}}@keyframes swagger-ui-pulse{0%{color:#fff;background:#4990e2;-webkit-box-shadow:0 0 0 0 rgba(73,144,226,.8);box-shadow:0 0 0 0 rgba(73,144,226,.8)}70%{-webkit-box-shadow:0 0 0 5px rgba(73,144,226,0);box-shadow:0 0 0 5px rgba(73,144,226,0)}to{color:#fff;background:#4990e2;-webkit-box-shadow:0 0 0 0 rgba(73,144,226,0);box-shadow:0 0 0 0 rgba(73,144,226,0)}}.swagger-ui .btn-group{display:-webkit-box;display:-ms-flexbox;display:flex;padding:30px}.swagger-ui .btn-group .btn{-webkit-box-flex:1;-ms-flex:1;flex:1}.swagger-ui .btn-group .btn:first-child{border-radius:4px 0 0 4px}.swagger-ui .btn-group .btn:last-child{border-radius:0 4px 4px 0}.swagger-ui .authorization__btn{padding:0 10px;border:none;background:none}.swagger-ui .authorization__btn.locked{opacity:1}.swagger-ui .authorization__btn.unlocked{opacity:.4}.swagger-ui .expand-methods,.swagger-ui .expand-operation{border:none;background:none}.swagger-ui .expand-methods svg,.swagger-ui .expand-operation svg{width:20px;height:20px}.swagger-ui .expand-methods{padding:0 10px}.swagger-ui .expand-methods:hover svg{fill:#444}.swagger-ui .expand-methods svg{-webkit-transition:all .3s;transition:all .3s;fill:#777}.swagger-ui button{cursor:pointer;outline:none}.swagger-ui button.invalid{-webkit-animation:shake .4s 1;animation:shake .4s 1;border-color:#f93e3e;background:#feebeb}.swagger-ui select{font-size:14px;font-weight:700;padding:5px 40px 5px 10px;border:2px solid #41444e;border-radius:4px;background:#f7f7f7 url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+ICAgIDxwYXRoIGQ9Ik0xMy40MTggNy44NTljLjI3MS0uMjY4LjcwOS0uMjY4Ljk3OCAwIC4yNy4yNjguMjcyLjcwMSAwIC45NjlsLTMuOTA4IDMuODNjLS4yNy4yNjgtLjcwNy4yNjgtLjk3OSAwbC0zLjkwOC0zLjgzYy0uMjctLjI2Ny0uMjctLjcwMSAwLS45NjkuMjcxLS4yNjguNzA5LS4yNjguOTc4IDBMMTAgMTFsMy40MTgtMy4xNDF6Ii8+PC9zdmc+) right 10px center no-repeat;background-size:20px;-webkit-box-shadow:0 1px 2px 0 rgba(0,0,0,.25);box-shadow:0 1px 2px 0 rgba(0,0,0,.25);font-family:Titillium Web,sans-serif;color:#3b4151;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swagger-ui select[multiple]{margin:5px 0;padding:5px;background:#f7f7f7}.swagger-ui select.invalid{-webkit-animation:shake .4s 1;animation:shake .4s 1;border-color:#f93e3e;background:#feebeb}.swagger-ui .opblock-body select{min-width:230px}.swagger-ui label{font-size:12px;font-weight:700;margin:0 0 5px;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui input[type=email],.swagger-ui input[type=file],.swagger-ui input[type=password],.swagger-ui input[type=search],.swagger-ui input[type=text]{min-width:100px;margin:5px 0;padding:8px 10px;border:1px solid #d9d9d9;border-radius:4px;background:#fff}.swagger-ui input[type=email].invalid,.swagger-ui input[type=file].invalid,.swagger-ui input[type=password].invalid,.swagger-ui input[type=search].invalid,.swagger-ui input[type=text].invalid{-webkit-animation:shake .4s 1;animation:shake .4s 1;border-color:#f93e3e;background:#feebeb}@-webkit-keyframes shake{10%,90%{-webkit-transform:translate3d(-1px,0,0);transform:translate3d(-1px,0,0)}20%,80%{-webkit-transform:translate3d(2px,0,0);transform:translate3d(2px,0,0)}30%,50%,70%{-webkit-transform:translate3d(-4px,0,0);transform:translate3d(-4px,0,0)}40%,60%{-webkit-transform:translate3d(4px,0,0);transform:translate3d(4px,0,0)}}@keyframes shake{10%,90%{-webkit-transform:translate3d(-1px,0,0);transform:translate3d(-1px,0,0)}20%,80%{-webkit-transform:translate3d(2px,0,0);transform:translate3d(2px,0,0)}30%,50%,70%{-webkit-transform:translate3d(-4px,0,0);transform:translate3d(-4px,0,0)}40%,60%{-webkit-transform:translate3d(4px,0,0);transform:translate3d(4px,0,0)}}.swagger-ui textarea{font-size:12px;width:100%;min-height:280px;padding:10px;border:none;border-radius:4px;outline:none;background:hsla(0,0%,100%,.8);font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui textarea:focus{border:2px solid #61affe}.swagger-ui textarea.curl{font-size:12px;min-height:100px;margin:0;padding:10px;resize:none;border-radius:4px;background:#41444e;font-family:Source Code Pro,monospace;font-weight:600;color:#fff}.swagger-ui .checkbox{padding:5px 0 10px;-webkit-transition:opacity .5s;transition:opacity .5s;color:#333}.swagger-ui .checkbox label{display:-webkit-box;display:-ms-flexbox;display:flex}.swagger-ui .checkbox p{font-weight:400!important;font-style:italic;margin:0!important;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui .checkbox input[type=checkbox]{display:none}.swagger-ui .checkbox input[type=checkbox]+label>.item{position:relative;top:3px;display:inline-block;width:16px;height:16px;margin:0 8px 0 0;padding:5px;cursor:pointer;border-radius:1px;background:#e8e8e8;-webkit-box-shadow:0 0 0 2px #e8e8e8;box-shadow:0 0 0 2px #e8e8e8;-webkit-box-flex:0;-ms-flex:none;flex:none}.swagger-ui .checkbox input[type=checkbox]+label>.item:active{-webkit-transform:scale(.9);transform:scale(.9)}.swagger-ui .checkbox input[type=checkbox]:checked+label>.item{background:#e8e8e8 url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='8' viewBox='3 7 10 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%2341474E' fill-rule='evenodd' d='M6.333 15L3 11.667l1.333-1.334 2 2L11.667 7 13 8.333z'/%3E%3C/svg%3E") 50% no-repeat}.swagger-ui .dialog-ux{position:fixed;z-index:9999;top:0;right:0;bottom:0;left:0}.swagger-ui .dialog-ux .backdrop-ux{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.8)}.swagger-ui .dialog-ux .modal-ux{position:absolute;z-index:9999;top:50%;left:50%;width:100%;min-width:300px;max-width:650px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border:1px solid #ebebeb;border-radius:4px;background:#fff;-webkit-box-shadow:0 10px 30px 0 rgba(0,0,0,.2);box-shadow:0 10px 30px 0 rgba(0,0,0,.2)}.swagger-ui .dialog-ux .modal-ux-content{overflow-y:auto;max-height:540px;padding:20px}.swagger-ui .dialog-ux .modal-ux-content p{font-size:12px;margin:0 0 5px;color:#41444e;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .dialog-ux .modal-ux-content h4{font-size:18px;font-weight:600;margin:15px 0 0;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .dialog-ux .modal-ux-header{display:-webkit-box;display:-ms-flexbox;display:flex;padding:12px 0;border-bottom:1px solid #ebebeb;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .dialog-ux .modal-ux-header .close-modal{padding:0 10px;border:none;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swagger-ui .dialog-ux .modal-ux-header h3{font-size:20px;font-weight:600;margin:0;padding:0 20px;-webkit-box-flex:1;-ms-flex:1;flex:1;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .model{font-size:12px;font-weight:300;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui .model .deprecated span,.swagger-ui .model .deprecated td{color:#aaa!important}.swagger-ui .model-toggle{font-size:10px;position:relative;top:6px;display:inline-block;margin:auto .3em;cursor:pointer;-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.swagger-ui .model-toggle.collapsed{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.swagger-ui .model-toggle:after{display:block;width:20px;height:20px;content:"";background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z'/%3E%3C/svg%3E") 50% no-repeat;background-size:100%}.swagger-ui .model-jump-to-path{position:relative;cursor:pointer}.swagger-ui .model-jump-to-path .view-line-link{position:absolute;top:-.4em;cursor:pointer}.swagger-ui .model-title{position:relative}.swagger-ui .model-title:hover .model-hint{visibility:visible}.swagger-ui .model-hint{position:absolute;top:-1.8em;visibility:hidden;padding:.1em .5em;white-space:nowrap;color:#ebebeb;border-radius:4px;background:rgba(0,0,0,.7)}.swagger-ui .model p{margin:0 0 1em}.swagger-ui section.models{margin:30px 0;border:1px solid rgba(59,65,81,.3);border-radius:4px}.swagger-ui section.models.is-open{padding:0 0 20px}.swagger-ui section.models.is-open h4{margin:0 0 5px;border-bottom:1px solid rgba(59,65,81,.3)}.swagger-ui section.models h4{font-size:16px;display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;padding:10px 20px 10px 10px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;font-family:Titillium Web,sans-serif;color:#777;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui section.models h4 svg{-webkit-transition:all .4s;transition:all .4s}.swagger-ui section.models h4 span{-webkit-box-flex:1;-ms-flex:1;flex:1}.swagger-ui section.models h4:hover{background:rgba(0,0,0,.02)}.swagger-ui section.models h5{font-size:16px;margin:0 0 10px;font-family:Titillium Web,sans-serif;color:#777}.swagger-ui section.models .model-jump-to-path{position:relative;top:5px}.swagger-ui section.models .model-container{margin:0 20px 15px;-webkit-transition:all .5s;transition:all .5s;border-radius:4px;background:rgba(0,0,0,.05)}.swagger-ui section.models .model-container:hover{background:rgba(0,0,0,.07)}.swagger-ui section.models .model-container:first-of-type{margin:20px}.swagger-ui section.models .model-container:last-of-type{margin:0 20px}.swagger-ui section.models .model-box{background:none}.swagger-ui .model-box{padding:10px;border-radius:4px;background:rgba(0,0,0,.1)}.swagger-ui .model-box .model-jump-to-path{position:relative;top:4px}.swagger-ui .model-box.deprecated{opacity:.5}.swagger-ui .model-title{font-size:16px;font-family:Titillium Web,sans-serif;color:#555}.swagger-ui .model-deprecated-warning{font-size:16px;font-weight:600;margin-right:1em;font-family:Titillium Web,sans-serif;color:#f93e3e}.swagger-ui span>span.model .brace-close{padding:0 0 0 10px}.swagger-ui .prop-name{display:inline-block;width:100px}.swagger-ui .prop-type{color:#55a}.swagger-ui .prop-enum{display:block}.swagger-ui .prop-format{color:#999}.swagger-ui table{width:100%;padding:0 10px;border-collapse:collapse}.swagger-ui table.model tbody tr td{padding:0;vertical-align:top}.swagger-ui table.model tbody tr td:first-of-type{width:124px;padding:0 0 0 2em}.swagger-ui table.headers td{font-size:12px;font-weight:300;vertical-align:middle;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui table tbody tr td{padding:10px 0 0;vertical-align:top}.swagger-ui table tbody tr td:first-of-type{max-width:20%;min-width:6em;padding:10px 0}.swagger-ui table thead tr td,.swagger-ui table thead tr th{font-size:12px;font-weight:700;padding:12px 0;text-align:left;border-bottom:1px solid rgba(59,65,81,.2);font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .parameters-col_description p{font-size:14px;margin:0;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .parameters-col_description input[type=text]{width:100%;max-width:340px}.swagger-ui .parameters-col_description select{border-width:1px}.swagger-ui .parameter__name{font-size:16px;font-weight:400;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .parameter__name.required{font-weight:700}.swagger-ui .parameter__name.required:after{font-size:10px;position:relative;top:-6px;padding:5px;content:"required";color:rgba(255,0,0,.6)}.swagger-ui .parameter__in{color:#888}.swagger-ui .parameter__deprecated,.swagger-ui .parameter__in{font-size:12px;font-style:italic;font-family:Source Code Pro,monospace;font-weight:600}.swagger-ui .parameter__deprecated{color:red}.swagger-ui .table-container{padding:20px}.swagger-ui .topbar{padding:8px 30px;background-color:#89bf04}.swagger-ui .topbar .topbar-wrapper,.swagger-ui .topbar a{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .topbar a{font-size:1.5em;font-weight:700;-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:300px;text-decoration:none;font-family:Titillium Web,sans-serif;color:#fff}.swagger-ui .topbar a span{margin:0;padding:0 10px}.swagger-ui .topbar .download-url-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:3;-ms-flex:3;flex:3;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swagger-ui .topbar .download-url-wrapper input[type=text]{width:100%;min-width:350px;margin:0;border:2px solid #547f00;border-radius:4px 0 0 4px;outline:none}.swagger-ui .topbar .download-url-wrapper .select-label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;max-width:600px;margin:0}.swagger-ui .topbar .download-url-wrapper .select-label span{font-size:16px;-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px 0 0;text-align:right}.swagger-ui .topbar .download-url-wrapper .select-label select{-webkit-box-flex:2;-ms-flex:2;flex:2;width:100%;border:2px solid #547f00;outline:none;-webkit-box-shadow:none;box-shadow:none}.swagger-ui .topbar .download-url-wrapper .download-url-button{font-size:16px;font-weight:700;padding:4px 40px;border:none;border-radius:0 4px 4px 0;background:#547f00;font-family:Titillium Web,sans-serif;color:#fff}.swagger-ui .info{margin:50px 0}.swagger-ui .info hgroup.main{margin:0 0 20px}.swagger-ui .info hgroup.main a{font-size:12px}.swagger-ui .info li,.swagger-ui .info p,.swagger-ui .info table{font-size:14px;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .info h1,.swagger-ui .info h2,.swagger-ui .info h3,.swagger-ui .info h4,.swagger-ui .info h5{font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .info code{padding:3px 5px;border-radius:4px;background:rgba(0,0,0,.05);font-family:Source Code Pro,monospace;font-weight:600;color:#9012fe}.swagger-ui .info a{font-size:14px;-webkit-transition:all .4s;transition:all .4s;font-family:Open Sans,sans-serif;color:#4990e2}.swagger-ui .info a:hover{color:#1f69c0}.swagger-ui .info>div{margin:0 0 5px}.swagger-ui .info .base-url{font-size:12px;font-weight:300!important;margin:0;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui .info .title{font-size:36px;margin:0;font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui .info .title small{font-size:10px;position:relative;top:-5px;display:inline-block;margin:0 0 0 5px;padding:2px 4px;vertical-align:super;border-radius:57px;background:#7d8492}.swagger-ui .info .title small pre{margin:0;font-family:Titillium Web,sans-serif;color:#fff}.swagger-ui .auth-btn-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;padding:10px 0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swagger-ui .auth-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swagger-ui .auth-wrapper .authorize{padding-right:20px}.swagger-ui .auth-container{margin:0 0 10px;padding:10px 20px;border-bottom:1px solid #ebebeb}.swagger-ui .auth-container:last-of-type{margin:0;padding:10px 20px;border:0}.swagger-ui .auth-container h4{margin:5px 0 15px!important}.swagger-ui .auth-container .wrapper{margin:0;padding:0}.swagger-ui .auth-container input[type=password],.swagger-ui .auth-container input[type=text]{min-width:230px}.swagger-ui .auth-container .errors{font-size:12px;padding:10px;border-radius:4px;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui .scopes h2{font-size:14px;font-family:Titillium Web,sans-serif;color:#3b4151}.swagger-ui .scope-def{padding:0 0 20px}.swagger-ui .errors-wrapper{margin:20px;padding:10px 20px;-webkit-animation:scaleUp .5s;animation:scaleUp .5s;border:2px solid #f93e3e;border-radius:4px;background:rgba(249,62,62,.1)}.swagger-ui .errors-wrapper .error-wrapper{margin:0 0 10px}.swagger-ui .errors-wrapper .errors h4{font-size:14px;margin:0;font-family:Source Code Pro,monospace;font-weight:600;color:#3b4151}.swagger-ui .errors-wrapper .errors small{color:#666}.swagger-ui .errors-wrapper hgroup{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swagger-ui .errors-wrapper hgroup h4{font-size:20px;margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1;font-family:Titillium Web,sans-serif;color:#3b4151}@-webkit-keyframes scaleUp{0%{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes scaleUp{0%{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.swagger-ui .Resizer.vertical.disabled{display:none} 2 | /*# sourceMappingURL=swagger-ui.css.map*/ --------------------------------------------------------------------------------