├── .gitignore ├── .idea ├── compiler.xml ├── encodings.xml ├── libraries │ ├── Maven__antlr_antlr_2_7_7.xml │ ├── Maven__aopalliance_aopalliance_1_0.xml │ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml │ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml │ ├── Maven__com_fasterxml_classmate_1_4_0.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_7.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_7.xml │ ├── Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_9_7.xml │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_7.xml │ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_7.xml │ ├── Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_9_7.xml │ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_7.xml │ ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml │ ├── Maven__com_github_andrewoma_dexx_dexx_collections_0_2.xml │ ├── Maven__com_github_vlsi_compactmap_compactmap_1_2_1.xml │ ├── Maven__com_github_xiaoymin_swagger_bootstrap_ui_1_9_3.xml │ ├── Maven__com_google_code_findbugs_jsr305_3_0_1.xml │ ├── Maven__com_google_code_gson_gson_2_8_5.xml │ ├── Maven__com_google_guava_guava_16_0.xml │ ├── Maven__com_google_guava_guava_20_0.xml │ ├── Maven__com_google_inject_guice_4_1_0.xml │ ├── Maven__com_netflix_archaius_archaius_core_0_7_6.xml │ ├── Maven__com_netflix_eureka_eureka_client_1_9_8.xml │ ├── Maven__com_netflix_eureka_eureka_core_1_9_8.xml │ ├── Maven__com_netflix_hystrix_hystrix_core_1_5_18.xml │ ├── Maven__com_netflix_netflix_commons_netflix_commons_util_0_3_0.xml │ ├── Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml │ ├── Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml │ ├── Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml │ ├── Maven__com_netflix_ribbon_ribbon_2_3_0.xml │ ├── Maven__com_netflix_ribbon_ribbon_core_2_3_0.xml │ ├── Maven__com_netflix_ribbon_ribbon_eureka_2_3_0.xml │ ├── Maven__com_netflix_ribbon_ribbon_httpclient_2_3_0.xml │ ├── Maven__com_netflix_ribbon_ribbon_loadbalancer_2_3_0.xml │ ├── Maven__com_netflix_ribbon_ribbon_transport_2_3_0.xml │ ├── Maven__com_netflix_servo_servo_core_0_12_21.xml │ ├── Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml │ ├── Maven__com_sun_jersey_jersey_client_1_19_1.xml │ ├── Maven__com_sun_jersey_jersey_core_1_19_1.xml │ ├── Maven__com_sun_jersey_jersey_server_1_19_1.xml │ ├── Maven__com_sun_jersey_jersey_servlet_1_19_1.xml │ ├── Maven__com_thoughtworks_xstream_xstream_1_4_10.xml │ ├── Maven__commons_codec_commons_codec_1_11.xml │ ├── Maven__commons_collections_commons_collections_3_2_2.xml │ ├── Maven__commons_configuration_commons_configuration_1_8.xml │ ├── Maven__commons_jxpath_commons_jxpath_1_3.xml │ ├── Maven__commons_lang_commons_lang_2_6.xml │ ├── Maven__io_micrometer_micrometer_core_1_1_0.xml │ ├── Maven__io_netty_netty_buffer_4_1_29_Final.xml │ ├── Maven__io_netty_netty_codec_4_1_29_Final.xml │ ├── Maven__io_netty_netty_codec_http2_4_1_29_Final.xml │ ├── Maven__io_netty_netty_codec_http_4_1_29_Final.xml │ ├── Maven__io_netty_netty_codec_socks_4_1_29_Final.xml │ ├── Maven__io_netty_netty_common_4_1_29_Final.xml │ ├── Maven__io_netty_netty_handler_4_1_29_Final.xml │ ├── Maven__io_netty_netty_handler_proxy_4_1_29_Final.xml │ ├── Maven__io_netty_netty_resolver_4_1_29_Final.xml │ ├── Maven__io_netty_netty_transport_4_1_29_Final.xml │ ├── Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_29_Final.xml │ ├── Maven__io_netty_netty_transport_native_unix_common_4_1_29_Final.xml │ ├── Maven__io_projectreactor_addons_reactor_extra_3_2_0_RELEASE.xml │ ├── Maven__io_projectreactor_netty_reactor_netty_0_8_2_RELEASE.xml │ ├── Maven__io_projectreactor_reactor_core_3_2_2_RELEASE.xml │ ├── Maven__io_reactivex_rxjava_1_3_8.xml │ ├── Maven__io_reactivex_rxnetty_0_4_9.xml │ ├── Maven__io_reactivex_rxnetty_contexts_0_4_9.xml │ ├── Maven__io_reactivex_rxnetty_servo_0_4_9.xml │ ├── Maven__io_springfox_springfox_core_2_9_2.xml │ ├── Maven__io_springfox_springfox_schema_2_9_2.xml │ ├── Maven__io_springfox_springfox_spi_2_9_2.xml │ ├── Maven__io_springfox_springfox_spring_web_2_9_2.xml │ ├── Maven__io_springfox_springfox_swagger2_2_9_2.xml │ ├── Maven__io_springfox_springfox_swagger_common_2_9_2.xml │ ├── Maven__io_springfox_springfox_swagger_ui_2_9_2.xml │ ├── Maven__io_swagger_swagger_annotations_1_5_20.xml │ ├── Maven__io_swagger_swagger_annotations_1_5_21.xml │ ├── Maven__io_swagger_swagger_models_1_5_20.xml │ ├── Maven__io_swagger_swagger_models_1_5_21.xml │ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml │ ├── Maven__javax_inject_javax_inject_1.xml │ ├── Maven__javax_validation_validation_api_2_0_1_Final.xml │ ├── Maven__javax_ws_rs_jsr311_api_1_1_1.xml │ ├── Maven__javax_xml_stream_stax_api_1_0_2.xml │ ├── Maven__joda_time_joda_time_2_10_1.xml │ ├── Maven__net_bytebuddy_byte_buddy_1_9_3.xml │ ├── Maven__org_antlr_antlr_runtime_3_4.xml │ ├── Maven__org_antlr_stringtemplate_3_2_1.xml │ ├── Maven__org_apache_commons_commons_math_2_2.xml │ ├── Maven__org_apache_httpcomponents_httpclient_4_5_6.xml │ ├── Maven__org_apache_httpcomponents_httpcore_4_4_10.xml │ ├── Maven__org_apache_logging_log4j_log4j_api_2_11_1.xml │ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_11_1.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_12.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_12.xml │ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_12.xml │ ├── Maven__org_aspectj_aspectjweaver_1_9_2.xml │ ├── Maven__org_bouncycastle_bcpkix_jdk15on_1_60.xml │ ├── Maven__org_bouncycastle_bcprov_jdk15on_1_60.xml │ ├── Maven__org_codehaus_jettison_jettison_1_3_7.xml │ ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml │ ├── Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml │ ├── Maven__org_freemarker_freemarker_2_3_28.xml │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml │ ├── Maven__org_hibernate_validator_hibernate_validator_6_0_13_Final.xml │ ├── Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml │ ├── Maven__org_latencyutils_LatencyUtils_2_0_3.xml │ ├── Maven__org_mapstruct_mapstruct_1_2_0_Final.xml │ ├── Maven__org_projectlombok_lombok_1_18_2.xml │ ├── Maven__org_reactivestreams_reactive_streams_1_0_2.xml │ ├── Maven__org_slf4j_jul_to_slf4j_1_7_25.xml │ ├── Maven__org_slf4j_slf4j_api_1_7_25.xml │ ├── Maven__org_springframework_boot_spring_boot_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_actuator_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_configuration_processor_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_actuator_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_aop_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_freemarker_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_reactor_netty_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_web_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_boot_spring_boot_starter_webflux_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_commons_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_context_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_context_2_1_3_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_gateway_core_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_hystrix_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_starter_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_starter_gateway_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_client_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_server_2_1_0_RELEASE.xml │ ├── Maven__org_springframework_cloud_spring_cloud_starter_netflix_ribbon_2_1_0_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 │ ├── Maven__org_springframework_security_spring_security_crypto_5_1_1_RELEASE.xml │ ├── Maven__org_springframework_security_spring_security_rsa_1_0_7_RELEASE.xml │ ├── Maven__org_springframework_spring_aop_5_1_2_RELEASE.xml │ ├── Maven__org_springframework_spring_beans_5_1_2_RELEASE.xml │ ├── Maven__org_springframework_spring_context_5_1_2_RELEASE.xml │ ├── Maven__org_springframework_spring_context_support_5_1_2_RELEASE.xml │ ├── Maven__org_springframework_spring_core_5_1_2_RELEASE.xml │ ├── Maven__org_springframework_spring_expression_5_1_2_RELEASE.xml │ ├── Maven__org_springframework_spring_jcl_5_1_2_RELEASE.xml │ ├── Maven__org_springframework_spring_web_5_1_2_RELEASE.xml │ ├── Maven__org_springframework_spring_webflux_5_1_2_RELEASE.xml │ ├── Maven__org_springframework_spring_webmvc_5_1_2_RELEASE.xml │ ├── Maven__org_synchronoss_cloud_nio_multipart_parser_1_1_0.xml │ ├── Maven__org_synchronoss_cloud_nio_stream_storage_1_1_3.xml │ ├── Maven__org_yaml_snakeyaml_1_23.xml │ ├── Maven__stax_stax_api_1_0_1.xml │ ├── Maven__xmlpull_xmlpull_1_1_3_1.xml │ └── Maven__xpp3_xpp3_min_1_1_4c.xml ├── misc.xml ├── modules.xml └── vcs.xml ├── README.md ├── pom.xml ├── spring-boot-starter-swagger-examples ├── pom.xml ├── spring-boot-starter-swagger-examples.iml └── src │ └── main │ ├── java │ └── com │ │ └── batman │ │ └── common │ │ └── swagger │ │ ├── SpringBootStarterSwaggerExamplesApplication.java │ │ ├── model_one │ │ └── controller │ │ │ └── ModelOneController.java │ │ └── model_two │ │ └── controller │ │ └── ModelTwoController.java │ └── resources │ └── application.yml ├── spring-boot-starter-swagger ├── pom.xml ├── spring-boot-starter-swagger.iml └── src │ └── main │ ├── java │ └── com │ │ └── batman │ │ └── common │ │ └── swagger │ │ ├── Module.java │ │ ├── SwaggerAutoConfiguration.java │ │ └── SwaggerConfig.java │ └── resources │ └── META-INF │ └── spring.factories ├── spring-boot-starter.iml ├── spring-cloud-starter-swagger-examples ├── pom.xml ├── spring-cloud-starter-swagger-examples-eureka │ ├── pom.xml │ ├── spring-cloud-starter-swagger-examples-eureka.iml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── batman │ │ │ └── eureka │ │ │ └── SpringCloudStarterSwaggerExamplesEurekaApplication.java │ │ └── resources │ │ └── application.yml ├── spring-cloud-starter-swagger-examples-gateway │ ├── pom.xml │ ├── spring-cloud-starter-swagger-examples-gateway.iml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── batman │ │ │ └── springcloudstarterswaggerexamplesgateway │ │ │ └── SpringCloudStarterSwaggerExamplesGatewayApplication.java │ │ └── resources │ │ └── application.yml ├── spring-cloud-starter-swagger-examples-provider │ ├── pom.xml │ ├── spring-cloud-starter-swagger-examples-provider.iml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── batman │ │ │ └── provider │ │ │ ├── SpringCloudStarterSwaggerExamplesProviderApplication.java │ │ │ └── controller │ │ │ └── DemoController.java │ │ └── resources │ │ └── application.yml └── spring-cloud-starter-swagger-examples.iml ├── spring-cloud-starter-swagger ├── pom.xml ├── spring-cloud-starter-swagger.iml └── src │ └── main │ ├── java │ └── com │ │ └── batman │ │ └── common │ │ └── swagger │ │ ├── config │ │ ├── SwaggerHandler.java │ │ ├── SwaggerHeaderFilter.java │ │ ├── SwaggerProviderAutoConfiguration.java │ │ └── SwaggerResourceConfig.java │ │ └── domain │ │ └── Node.java │ └── resources │ └── META-INF │ └── spring.factories └── static ├── bootstrap.png └── simple.png /.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | 4 | ### STS ### 5 | .apt_generated 6 | .classpath 7 | .factorypath 8 | .project 9 | .settings 10 | .springBeans 11 | .sts4-cache 12 | 13 | ### IntelliJ IDEA ### 14 | .idea 15 | *.iws 16 | *.iml 17 | *.ipr 18 | 19 | ### NetBeans ### 20 | /nbproject/private/ 21 | /build/ 22 | /nbbuild/ 23 | /dist/ 24 | /nbdist/ 25 | /.nb-gradle/ -------------------------------------------------------------------------------- /.idea/compiler.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 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__antlr_antlr_2_7_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__aopalliance_aopalliance_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_classmate_1_4_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_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_9_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_9_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_9_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_github_andrewoma_dexx_dexx_collections_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_github_vlsi_compactmap_compactmap_1_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_github_xiaoymin_swagger_bootstrap_ui_1_9_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_code_gson_gson_2_8_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_guava_guava_16_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_guava_guava_20_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_inject_guice_4_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_archaius_archaius_core_0_7_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_eureka_eureka_client_1_9_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_eureka_eureka_core_1_9_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_hystrix_hystrix_core_1_5_18.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_netflix_commons_netflix_commons_util_0_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_netflix_commons_netflix_eventbus_0_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_netflix_commons_netflix_infix_0_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_ribbon_ribbon_2_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_ribbon_ribbon_core_2_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_ribbon_ribbon_eureka_2_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_ribbon_ribbon_httpclient_2_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_ribbon_ribbon_loadbalancer_2_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_ribbon_ribbon_transport_2_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_netflix_servo_servo_core_0_12_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_sun_jersey_jersey_client_1_19_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_sun_jersey_jersey_core_1_19_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_sun_jersey_jersey_server_1_19_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_sun_jersey_jersey_servlet_1_19_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_thoughtworks_xstream_xstream_1_4_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_codec_commons_codec_1_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_configuration_commons_configuration_1_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_jxpath_commons_jxpath_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_micrometer_micrometer_core_1_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_buffer_4_1_29_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_codec_4_1_29_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_codec_http2_4_1_29_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_codec_http_4_1_29_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_codec_socks_4_1_29_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_common_4_1_29_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_handler_4_1_29_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_handler_proxy_4_1_29_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_resolver_4_1_29_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_transport_4_1_29_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_29_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_29_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_projectreactor_addons_reactor_extra_3_2_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_projectreactor_netty_reactor_netty_0_8_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_projectreactor_reactor_core_3_2_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_reactivex_rxjava_1_3_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_reactivex_rxnetty_0_4_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_reactivex_rxnetty_contexts_0_4_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_reactivex_rxnetty_servo_0_4_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_core_2_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_schema_2_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_spi_2_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_spring_web_2_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_swagger2_2_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_swagger_common_2_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_springfox_springfox_swagger_ui_2_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_swagger_swagger_annotations_1_5_20.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_swagger_swagger_annotations_1_5_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_swagger_swagger_models_1_5_20.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_swagger_swagger_models_1_5_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_inject_javax_inject_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_validation_validation_api_2_0_1_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_ws_rs_jsr311_api_1_1_1.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__joda_time_joda_time_2_10_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_9_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_antlr_antlr_runtime_3_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_antlr_stringtemplate_3_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_math_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_11_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_11_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_60.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_60.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_jettison_jettison_1_3_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_woodstox_woodstox_core_asl_4_4_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_freemarker_freemarker_2_3_28.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_0_13_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_3_2_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mapstruct_mapstruct_1_2_0_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_projectlombok_lombok_1_18_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_25.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_configuration_processor_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_freemarker_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_reactor_netty_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_webflux_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_1_3_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_gateway_core_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_eureka_client_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_eureka_server_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_hystrix_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_gateway_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_client_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_server_2_1_0_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_ribbon_2_1_0_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 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_1_1_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_7_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_aop_5_1_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_beans_5_1_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_context_5_1_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_context_support_5_1_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_core_5_1_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_expression_5_1_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_jcl_5_1_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_web_5_1_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_webflux_5_1_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_springframework_spring_webmvc_5_1_2_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_synchronoss_cloud_nio_multipart_parser_1_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_synchronoss_cloud_nio_stream_storage_1_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_yaml_snakeyaml_1_23.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__stax_stax_api_1_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__xmlpull_xmlpull_1_1_3_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__xpp3_xpp3_min_1_1_4c.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # spring-boot-starter-swagger 2 | swagger自动多模块配置 3 | 4 | 当我们构建分布式系统的时候,虽然我们可以用Swagger来方便为每个服务自动产出API文档页面。但是随着服务数量的增多, 5 | 内部服务间的依赖关系的复杂度增加,每个服务开发人员要关心和查阅的文档变得越来越多。由于每个服务的文档地址可能都不一样, 6 | 这使得不得不维护一个文档的索引来方便查阅,并且这个索引还需要不断的去维护更新。 7 | 8 | 该starter致力于通过配置生成多个swagger的模块,不用在代码中重复定义docket的问题,此外整合spring cloud gateway 也是通过配置重定向到 9 | 我们的微服务 10 | 11 | **项目地址** 12 | 13 | - Github:https://github.com/fafeidou/spring-boot-starter 14 | 15 | # 使用手册 16 | 17 | ## 版本说明 18 | 19 | spring-boot-starter-swagger的使用版本与Spring Boot版本直接相关,对应关系如下; 20 | 21 | | Spring Boot版本 | spring-boot-starter-swagger版本 | 22 | |---|---| 23 | |2.1.x|2.1.x| 24 | 25 | 当前最新版本2.1.0。 26 | 27 | ## 快速入门 28 | 29 | 该工具的时候非常简单,先通过下面几步简单入门: 30 | 31 | **第一步**:构建一个基础的Spring Boot应用 32 | 33 | **第二步**:在pom.xml中引入依赖 34 | 35 | ```xml 36 | 37 | 38 | com.batman 39 | spring-boot-starter-swagger 40 | 2.1.0.version 41 | 42 | 43 | ``` 44 | 45 | **第三步**:配置文件 46 | ```yaml 47 | batman: 48 | swagger: 49 | title: api manage RESTful Content APIs 50 | description: 接口文档 51 | version: 1.0 52 | modules: 53 | - { 54 | model-name: model_one, #模块名称 55 | packages: ["com.batman.config.model_one.controller"], #扫描的包路径 56 | group-name: model_one #分组名称 57 | } 58 | - { 59 | model-name: model_two, 60 | packages: ["com.batman.config.model_two.controller"], 61 | group-name: model_two 62 | } 63 | ``` 64 | 65 | **第四步**:查看聚合文档。 66 | 67 | 原生文档:访问`http://localhost:port/swagger-ui.html` 68 | ![Example-1](https://github.com/fafeidou/static/blob/master/swagger-simple.png?raw=true) 69 | 70 | 71 | 增强文档:访问`http://localhost:port/doc.html` 72 | ![Example-1](https://github.com/fafeidou/static/blob/master/swagger-nice.png?raw=true) 73 | > 代码示例具体可见`spring-boot-starter-swagger-examples`目录 74 | 75 | ## 使用spring cloud gateway 中的路由自动配置 76 | 77 | **第一步**:在pom.xml中引入依赖 78 | 79 | ```xml 80 | 81 | 82 | com.batman 83 | spring-cloud-starter-swagger 84 | 2.1.0.version 85 | 86 | 87 | ``` 88 | 89 | **第二步**:配置文件 90 | ```yaml 91 | batman: 92 | swagger-resource: 93 | nodes: 94 | - { 95 | name: provider, 96 | location: "/service-provider/v2/api-docs?group=provider", 97 | version: 2.0 98 | } 99 | ``` 100 | 101 | **第三步**:查看聚合文档。 -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.springframework.boot 7 | spring-boot-starter-parent 8 | 2.1.0.RELEASE 9 | 10 | 11 | com.batman 12 | spring-boot-starter 13 | 2.1.0.version 14 | spring-boot-starter 15 | Demo project for Spring Boot 16 | pom 17 | 18 | spring-boot-starter-swagger 19 | spring-boot-starter-swagger-examples 20 | spring-cloud-starter-swagger 21 | spring-cloud-starter-swagger-examples 22 | 23 | 24 | Greenwich.RELEASE 25 | 1.8 26 | 27 | 28 | 29 | 30 | org.springframework.boot 31 | spring-boot-starter 32 | 33 | 34 | 35 | org.projectlombok 36 | lombok 37 | true 38 | 39 | 40 | 41 | 42 | 43 | 44 | org.springframework.cloud 45 | spring-cloud-dependencies 46 | ${spring-cloud.version} 47 | pom 48 | import 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /spring-boot-starter-swagger-examples/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | com.batman 7 | spring-boot-starter 8 | 2.1.0.version 9 | 10 | com.batman 11 | spring-boot-starter-swagger-examples 12 | 2.1.0.version 13 | spring-boot-starter-swagger-examples 14 | Demo project for Spring Boot 15 | 16 | 17 | 1.8 18 | 19 | 20 | 21 | 22 | org.springframework.boot 23 | spring-boot-starter-web 24 | 25 | 26 | com.batman 27 | spring-boot-starter-swagger 28 | 2.1.0.version 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /spring-boot-starter-swagger-examples/spring-boot-starter-swagger-examples.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 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /spring-boot-starter-swagger-examples/src/main/java/com/batman/common/swagger/SpringBootStarterSwaggerExamplesApplication.java: -------------------------------------------------------------------------------- 1 | package com.batman.common.swagger; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.context.annotation.ComponentScan; 6 | 7 | @SpringBootApplication 8 | @ComponentScan(basePackages = "com.batman") 9 | public class SpringBootStarterSwaggerExamplesApplication { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(SpringBootStarterSwaggerExamplesApplication.class, args); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /spring-boot-starter-swagger-examples/src/main/java/com/batman/common/swagger/model_one/controller/ModelOneController.java: -------------------------------------------------------------------------------- 1 | package com.batman.common.swagger.model_one.controller; 2 | 3 | import io.swagger.annotations.Api; 4 | import org.springframework.web.bind.annotation.RequestMapping; 5 | import org.springframework.web.bind.annotation.RestController; 6 | 7 | /** 8 | * @Author Batman.qin 9 | * @Date 2019/6/11 18:56 10 | */ 11 | @RequestMapping("model_one") 12 | @Api(tags = {"model_one"}, description = "model_one") 13 | @RestController 14 | public class ModelOneController { 15 | 16 | @RequestMapping("hello") 17 | public String hello() { 18 | return "hello"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /spring-boot-starter-swagger-examples/src/main/java/com/batman/common/swagger/model_two/controller/ModelTwoController.java: -------------------------------------------------------------------------------- 1 | package com.batman.common.swagger.model_two.controller; 2 | 3 | import io.swagger.annotations.Api; 4 | import org.springframework.web.bind.annotation.RequestMapping; 5 | import org.springframework.web.bind.annotation.RestController; 6 | 7 | /** 8 | * @Author Batman.qin 9 | * @Date 2019/6/11 18:56 10 | */ 11 | @RequestMapping("model_two") 12 | @Api(tags = {"model_two"}, description = "model_two") 13 | @RestController 14 | public class ModelTwoController { 15 | 16 | @RequestMapping("hello") 17 | public String hello() { 18 | return "hello"; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /spring-boot-starter-swagger-examples/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | batman: 2 | swagger: 3 | title: api manage RESTful Content APIs 4 | description: 接口文档 5 | version: 1.0 6 | modules: 7 | - { 8 | model-name: model_one, 9 | packages: ["com.batman.common.swagger.model_one.controller"], 10 | group-name: model_one 11 | } 12 | - { 13 | model-name: model_two, 14 | packages: ["com.batman.common.swagger.model_two.controller"], 15 | group-name: model_two 16 | } 17 | server: 18 | port: 8899 -------------------------------------------------------------------------------- /spring-boot-starter-swagger/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | com.batman 7 | spring-boot-starter 8 | 2.1.0.version 9 | 10 | com.batman 11 | spring-boot-starter-swagger 12 | spring-boot-starter-swagger 13 | Demo project for Spring Boot 14 | 15 | 16 | 2.9.2 17 | 1.8 18 | 19 | 20 | 21 | 22 | 23 | 24 | io.springfox 25 | springfox-swagger2 26 | ${swagger.version} 27 | 28 | 29 | io.swagger 30 | swagger-annotations 31 | 32 | 33 | io.swagger 34 | swagger-models 35 | 36 | 37 | 38 | 39 | 40 | io.springfox 41 | springfox-swagger-ui 42 | ${swagger.version} 43 | 44 | 45 | io.swagger 46 | swagger-annotations 47 | 1.5.21 48 | 49 | 50 | io.swagger 51 | swagger-models 52 | 1.5.21 53 | 54 | 55 | com.github.xiaoymin 56 | swagger-bootstrap-ui 57 | 1.9.3 58 | 59 | 60 | org.springframework.boot 61 | spring-boot-configuration-processor 62 | 63 | 64 | org.springframework.cloud 65 | spring-cloud-context 66 | RELEASE 67 | compile 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /spring-boot-starter-swagger/spring-boot-starter-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 | -------------------------------------------------------------------------------- /spring-boot-starter-swagger/src/main/java/com/batman/common/swagger/Module.java: -------------------------------------------------------------------------------- 1 | package com.batman.common.swagger; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | /** 7 | * 8 | * 9 | * @author Batman.qin 10 | * @create 2018-12-07 20:13 11 | */ 12 | public class Module { 13 | private String moduleName; 14 | private List packages = new ArrayList<>(); 15 | private String groupName; 16 | 17 | public Module() { 18 | super(); 19 | } 20 | 21 | public String getModuleName() { 22 | return moduleName; 23 | } 24 | 25 | public void setModuleName(String moduleName) { 26 | this.moduleName = moduleName; 27 | } 28 | 29 | public List getPackages() { 30 | return packages; 31 | } 32 | 33 | public void setPackages(List packages) { 34 | this.packages = packages; 35 | } 36 | 37 | public String getGroupName() { 38 | return groupName; 39 | } 40 | 41 | public void setGroupName(String groupName) { 42 | this.groupName = groupName; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /spring-boot-starter-swagger/src/main/java/com/batman/common/swagger/SwaggerAutoConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.batman.common.swagger; 2 | 3 | import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI; 4 | import com.google.common.base.Predicate; 5 | import com.google.common.base.Predicates; 6 | import com.google.common.collect.Lists; 7 | import org.slf4j.Logger; 8 | import org.slf4j.LoggerFactory; 9 | import org.springframework.beans.BeansException; 10 | import org.springframework.beans.factory.config.BeanDefinition; 11 | import org.springframework.beans.factory.support.BeanDefinitionBuilder; 12 | import org.springframework.beans.factory.support.BeanDefinitionRegistry; 13 | import org.springframework.boot.autoconfigure.EnableAutoConfiguration; 14 | import org.springframework.boot.context.properties.EnableConfigurationProperties; 15 | import org.springframework.context.ApplicationContext; 16 | import org.springframework.context.ApplicationContextAware; 17 | import org.springframework.context.ConfigurableApplicationContext; 18 | import org.springframework.context.annotation.Bean; 19 | import org.springframework.context.annotation.Configuration; 20 | import org.springframework.util.CollectionUtils; 21 | import org.springframework.util.StringUtils; 22 | import springfox.documentation.RequestHandler; 23 | import springfox.documentation.builders.ApiInfoBuilder; 24 | import springfox.documentation.builders.PathSelectors; 25 | import springfox.documentation.builders.RequestHandlerSelectors; 26 | import springfox.documentation.service.ApiInfo; 27 | import springfox.documentation.service.ApiKey; 28 | import springfox.documentation.service.AuthorizationScope; 29 | import springfox.documentation.service.SecurityReference; 30 | import springfox.documentation.spi.DocumentationType; 31 | import springfox.documentation.spi.service.contexts.SecurityContext; 32 | import springfox.documentation.spring.web.plugins.Docket; 33 | import springfox.documentation.swagger2.annotations.EnableSwagger2; 34 | 35 | import java.util.List; 36 | import java.util.Optional; 37 | 38 | import static com.google.common.collect.Lists.newArrayList; 39 | 40 | /** 41 | * @author batman.qin 42 | */ 43 | @Configuration 44 | @EnableSwagger2 45 | @EnableConfigurationProperties(value = SwaggerConfig.class) 46 | @EnableAutoConfiguration 47 | @EnableSwaggerBootstrapUI 48 | public class SwaggerAutoConfiguration implements ApplicationContextAware { 49 | private Logger logger = LoggerFactory.getLogger(SwaggerAutoConfiguration.class); 50 | private final SwaggerConfig swaggerConfig; 51 | private ConfigurableApplicationContext configurableApplicationContext; 52 | 53 | public SwaggerAutoConfiguration(SwaggerConfig swaggerConfig) { 54 | this.swaggerConfig = swaggerConfig; 55 | } 56 | 57 | @Override 58 | public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { 59 | this.configurableApplicationContext = (ConfigurableApplicationContext) applicationContext; 60 | } 61 | 62 | @Bean 63 | public String createDocket() { 64 | BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(Docket.class); 65 | 66 | beanDefinitionBuilder.addConstructorArgValue(DocumentationType.SWAGGER_2); 67 | 68 | BeanDefinition beanDefinition = beanDefinitionBuilder.getRawBeanDefinition(); 69 | 70 | BeanDefinitionRegistry beanFactory = (BeanDefinitionRegistry) configurableApplicationContext.getBeanFactory(); 71 | 72 | if (!CollectionUtils.isEmpty(swaggerConfig.getModules())) { 73 | 74 | swaggerConfig.getModules().forEach(module -> { 75 | beanFactory.registerBeanDefinition(module.getGroupName(), beanDefinition); 76 | 77 | Docket docket = configurableApplicationContext.getBean(module.getGroupName(), Docket.class); 78 | 79 | List> list = Lists.newArrayList(); 80 | if (!CollectionUtils.isEmpty(module.getPackages())) { 81 | module.getPackages().forEach(str -> list.add(RequestHandlerSelectors.basePackage(str))); 82 | } 83 | docket.securityContexts(securityContexts()).securitySchemes(securitySchemes()).apiInfo(apiInfo()) 84 | .groupName(Optional.ofNullable(module.getGroupName()).orElse("")) 85 | .pathMapping("") 86 | .select() 87 | .apis(Predicates.or(list)::apply) 88 | .paths(PathSelectors.any()) 89 | .build(); 90 | }); 91 | 92 | } 93 | return "createDocket"; 94 | 95 | } 96 | 97 | /** 98 | * 配置认证模式 99 | */ 100 | private List securitySchemes() { 101 | return newArrayList(new ApiKey("Authorization", "Authorization", "header"), new ApiKey("UserId", "UserId", "header")); 102 | } 103 | 104 | /** 105 | * 配置认证上下文 106 | */ 107 | private List securityContexts() { 108 | return newArrayList(SecurityContext.builder() 109 | .securityReferences(defaultAuth()) 110 | .forPaths(PathSelectors.any()) 111 | .build()); 112 | } 113 | 114 | private List defaultAuth() { 115 | AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); 116 | AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; 117 | authorizationScopes[0] = authorizationScope; 118 | return newArrayList(new SecurityReference("Authorization", authorizationScopes)); 119 | } 120 | 121 | /** 122 | * 项目信息 123 | */ 124 | private ApiInfo apiInfo() { 125 | return new ApiInfoBuilder() 126 | .title(StringUtils.isEmpty(swaggerConfig.getTitle()) ? "CHARLES-KEITH RESTful APIs" : swaggerConfig.getTitle()) 127 | .description(StringUtils.isEmpty(swaggerConfig.getDescription()) ? "桦洁商贸电子商务微服务接口文档" : swaggerConfig.getDescription()) 128 | .license("") 129 | .version(StringUtils.isEmpty(swaggerConfig.getVersion()) ? "1.0" : swaggerConfig.getVersion()) 130 | .build(); 131 | } 132 | 133 | 134 | } 135 | -------------------------------------------------------------------------------- /spring-boot-starter-swagger/src/main/java/com/batman/common/swagger/SwaggerConfig.java: -------------------------------------------------------------------------------- 1 | package com.batman.common.swagger; 2 | 3 | import org.springframework.boot.context.properties.ConfigurationProperties; 4 | import org.springframework.stereotype.Component; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | 9 | /** 10 | * 11 | * 12 | * @author Batman.qin 13 | * @Create 2018-11-30 14:42 14 | */ 15 | @Component 16 | @ConfigurationProperties("batman.swagger") 17 | public class SwaggerConfig { 18 | private List modules = new ArrayList<>(); 19 | private String title; 20 | private String description; 21 | private String version; 22 | 23 | public SwaggerConfig() { 24 | super(); 25 | } 26 | 27 | public List getModules() { 28 | return modules; 29 | } 30 | 31 | public void setModules(List modules) { 32 | this.modules = modules; 33 | } 34 | 35 | public String getTitle() { 36 | return title; 37 | } 38 | 39 | public void setTitle(String title) { 40 | this.title = title; 41 | } 42 | 43 | public String getDescription() { 44 | return description; 45 | } 46 | 47 | public void setDescription(String description) { 48 | this.description = description; 49 | } 50 | 51 | public String getVersion() { 52 | return version; 53 | } 54 | 55 | public void setVersion(String version) { 56 | this.version = version; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /spring-boot-starter-swagger/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.batman.common.swagger.SwaggerAutoConfiguration -------------------------------------------------------------------------------- /spring-boot-starter.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 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger-examples/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | com.batman 7 | spring-boot-starter 8 | 2.1.0.version 9 | 10 | com.batman 11 | spring-cloud-starter-swagger-examples 12 | 2.1.0.version 13 | spring-cloud-starter-swagger-examples 14 | Demo project for Spring Boot 15 | pom 16 | 17 | spring-cloud-starter-swagger-examples-eureka 18 | spring-cloud-starter-swagger-examples-provider 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger-examples/spring-cloud-starter-swagger-examples-eureka/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | com.batman 7 | spring-cloud-starter-swagger-examples 8 | 2.1.0.version 9 | 10 | com.batman 11 | spring-cloud-starter-swagger-examples-eureka 12 | 2.1.0.version 13 | spring-cloud-starter-swagger-examples-eureka 14 | Demo project for Spring Boot 15 | 16 | 17 | 1.8 18 | 19 | 20 | 21 | 22 | org.springframework.cloud 23 | spring-cloud-starter-netflix-eureka-server 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger-examples/spring-cloud-starter-swagger-examples-eureka/src/main/java/com/batman/eureka/SpringCloudStarterSwaggerExamplesEurekaApplication.java: -------------------------------------------------------------------------------- 1 | package com.batman.eureka; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; 6 | 7 | @SpringBootApplication 8 | @EnableEurekaServer 9 | public class SpringCloudStarterSwaggerExamplesEurekaApplication { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(SpringCloudStarterSwaggerExamplesEurekaApplication.class, args); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger-examples/spring-cloud-starter-swagger-examples-eureka/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8761 3 | 4 | eureka: 5 | instance: 6 | hostname: localhost 7 | client: 8 | registerWithEureka: false 9 | fetchRegistry: false 10 | serviceUrl: 11 | defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ 12 | registry-fetch-interval-seconds: 10 13 | 14 | spring: 15 | application: 16 | name: eurka-server -------------------------------------------------------------------------------- /spring-cloud-starter-swagger-examples/spring-cloud-starter-swagger-examples-gateway/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | com.batman 7 | spring-cloud-starter-swagger-examples 8 | 2.1.0.version 9 | 10 | com.batman 11 | spring-cloud-starter-swagger-examples-gateway 12 | 2.1.0.version 13 | spring-cloud-starter-swagger-examples-gateway 14 | Demo project for Spring Boot 15 | 16 | 17 | 1.8 18 | 19 | 20 | 21 | 22 | com.batman 23 | spring-cloud-starter-swagger 24 | 2.1.0.version 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger-examples/spring-cloud-starter-swagger-examples-gateway/src/main/java/com/batman/springcloudstarterswaggerexamplesgateway/SpringCloudStarterSwaggerExamplesGatewayApplication.java: -------------------------------------------------------------------------------- 1 | package com.batman.springcloudstarterswaggerexamplesgateway; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.context.annotation.ComponentScan; 6 | 7 | @ComponentScan("com.batman") 8 | @SpringBootApplication 9 | public class SpringCloudStarterSwaggerExamplesGatewayApplication { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(SpringCloudStarterSwaggerExamplesGatewayApplication.class, args); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger-examples/spring-cloud-starter-swagger-examples-gateway/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | application: 3 | name: api-gateway 4 | cloud: 5 | gateway: 6 | discovery: 7 | locator: 8 | lower-case-service-id: true 9 | enabled: true 10 | server: 11 | port: 9999 12 | 13 | batman: 14 | swagger-resource: 15 | nodes: 16 | - { 17 | name: provider, 18 | location: "/service-provider/v2/api-docs?group=provider", 19 | version: 2.0 20 | } -------------------------------------------------------------------------------- /spring-cloud-starter-swagger-examples/spring-cloud-starter-swagger-examples-provider/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | com.batman 7 | spring-cloud-starter-swagger-examples 8 | 2.1.0.version 9 | 10 | com.batman 11 | spring-cloud-starter-swagger-examples-provider 12 | 2.1.0.version 13 | spring-cloud-starter-swagger-examples-provider 14 | Demo project for Spring Boot 15 | 16 | 17 | 1.8 18 | 19 | 20 | 21 | 22 | org.springframework.boot 23 | spring-boot-starter-web 24 | 25 | 26 | org.springframework.cloud 27 | spring-cloud-starter-netflix-eureka-client 28 | 29 | 30 | com.batman 31 | spring-boot-starter-swagger 32 | 2.1.0.version 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger-examples/spring-cloud-starter-swagger-examples-provider/spring-cloud-starter-swagger-examples-provider.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 | 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 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger-examples/spring-cloud-starter-swagger-examples-provider/src/main/java/com/batman/provider/SpringCloudStarterSwaggerExamplesProviderApplication.java: -------------------------------------------------------------------------------- 1 | package com.batman.provider; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.cloud.netflix.eureka.EnableEurekaClient; 6 | import org.springframework.context.annotation.ComponentScan; 7 | 8 | @ComponentScan("com.batman") 9 | @SpringBootApplication 10 | @EnableEurekaClient 11 | public class SpringCloudStarterSwaggerExamplesProviderApplication { 12 | 13 | public static void main(String[] args) { 14 | SpringApplication.run(SpringCloudStarterSwaggerExamplesProviderApplication.class, args); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger-examples/spring-cloud-starter-swagger-examples-provider/src/main/java/com/batman/provider/controller/DemoController.java: -------------------------------------------------------------------------------- 1 | package com.batman.provider.controller; 2 | 3 | import org.springframework.web.bind.annotation.RequestMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | /** 7 | * @Author Batman.qin 8 | * @Date 2019/6/12 13:33 9 | */ 10 | @RestController 11 | public class DemoController { 12 | 13 | @RequestMapping("hello") 14 | public String hello() { 15 | return "hello world"; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger-examples/spring-cloud-starter-swagger-examples-provider/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8763 3 | 4 | spring: 5 | application: 6 | name: service-provider 7 | 8 | eureka: 9 | instance: 10 | leaseRenewalIntervalInSeconds: 10 11 | health-check-url-path: /actuator/health 12 | prefer-ip-address: true 13 | client: 14 | serviceUrl: 15 | defaultZone: http://localhost:8761/eureka/ 16 | 17 | batman: 18 | swagger: 19 | title: api manage RESTful Content APIs 20 | description: 开发文档 21 | version: 1.0 22 | modules: 23 | - { 24 | model-name: provider, 25 | packages: ["com.batman.provider.controller"], 26 | group-name: provider 27 | } -------------------------------------------------------------------------------- /spring-cloud-starter-swagger-examples/spring-cloud-starter-swagger-examples.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 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | com.batman 7 | spring-boot-starter 8 | 2.1.0.version 9 | 10 | com.batman 11 | spring-cloud-starter-swagger 12 | 2.1.0.version 13 | spring-cloud-starter-swagger 14 | 15 | 16 | 1.8 17 | 18 | 19 | 20 | 21 | 22 | org.springframework.cloud 23 | spring-cloud-starter-gateway 24 | 25 | 26 | 27 | org.springframework.cloud 28 | spring-cloud-starter-netflix-eureka-client 29 | 30 | 31 | 32 | io.springfox 33 | springfox-swagger-ui 34 | 2.9.2 35 | 36 | 37 | 38 | io.springfox 39 | springfox-swagger2 40 | 2.9.2 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger/src/main/java/com/batman/common/swagger/config/SwaggerHandler.java: -------------------------------------------------------------------------------- 1 | package com.batman.common.swagger.config; 2 | 3 | import org.springframework.beans.factory.annotation.Autowired; 4 | import org.springframework.http.HttpStatus; 5 | import org.springframework.http.ResponseEntity; 6 | import org.springframework.web.bind.annotation.GetMapping; 7 | import org.springframework.web.bind.annotation.RequestMapping; 8 | import org.springframework.web.bind.annotation.RestController; 9 | import reactor.core.publisher.Mono; 10 | import springfox.documentation.swagger.web.*; 11 | 12 | import java.util.Optional; 13 | 14 | @RestController 15 | @RequestMapping("/swagger-resources") 16 | public class SwaggerHandler { 17 | @Autowired(required = false) 18 | private SecurityConfiguration securityConfiguration; 19 | @Autowired(required = false) 20 | private UiConfiguration uiConfiguration; 21 | private final SwaggerResourcesProvider swaggerResources; 22 | 23 | @Autowired 24 | public SwaggerHandler(SwaggerResourcesProvider swaggerResources) { 25 | this.swaggerResources = swaggerResources; 26 | } 27 | 28 | 29 | @GetMapping("/configuration/security") 30 | public Mono> securityConfiguration() { 31 | return Mono.just(new ResponseEntity<>( 32 | Optional.ofNullable(securityConfiguration).orElse(SecurityConfigurationBuilder.builder().build()), HttpStatus.OK)); 33 | } 34 | 35 | @GetMapping("/configuration/ui") 36 | public Mono> uiConfiguration() { 37 | return Mono.just(new ResponseEntity<>( 38 | Optional.ofNullable(uiConfiguration).orElse(UiConfigurationBuilder.builder().build()), HttpStatus.OK)); 39 | } 40 | 41 | @GetMapping("") 42 | public Mono swaggerResources() { 43 | return Mono.just((new ResponseEntity<>(swaggerResources.get(), HttpStatus.OK))); 44 | } 45 | } 46 | 47 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger/src/main/java/com/batman/common/swagger/config/SwaggerHeaderFilter.java: -------------------------------------------------------------------------------- 1 | package com.batman.common.swagger.config; 2 | 3 | import org.apache.commons.lang.StringUtils; 4 | import org.springframework.cloud.gateway.filter.GatewayFilter; 5 | import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory; 6 | import org.springframework.http.server.reactive.ServerHttpRequest; 7 | import org.springframework.stereotype.Component; 8 | import org.springframework.web.server.ServerWebExchange; 9 | 10 | @Component 11 | public class SwaggerHeaderFilter extends AbstractGatewayFilterFactory { 12 | private static final String HEADER_NAME = "X-Forwarded-Prefix"; 13 | 14 | @Override 15 | public GatewayFilter apply(Object config) { 16 | return (exchange, chain) -> { 17 | ServerHttpRequest request = exchange.getRequest(); 18 | String path = request.getURI().getPath(); 19 | if (!StringUtils.endsWithIgnoreCase(path, SwaggerProviderAutoConfiguration.API_URI)) { 20 | return chain.filter(exchange); 21 | } 22 | String basePath = path.substring(0, path.lastIndexOf(SwaggerProviderAutoConfiguration.API_URI)); 23 | ServerHttpRequest newRequest = request.mutate().header(HEADER_NAME, basePath).build(); 24 | ServerWebExchange newExchange = exchange.mutate().request(newRequest).build(); 25 | return chain.filter(newExchange); 26 | }; 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger/src/main/java/com/batman/common/swagger/config/SwaggerProviderAutoConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.batman.common.swagger.config; 2 | 3 | import com.batman.common.swagger.domain.Node; 4 | import org.springframework.beans.factory.annotation.Autowired; 5 | import org.springframework.boot.autoconfigure.EnableAutoConfiguration; 6 | import org.springframework.boot.context.properties.EnableConfigurationProperties; 7 | import org.springframework.context.annotation.Configuration; 8 | import org.springframework.context.annotation.Primary; 9 | import org.springframework.util.CollectionUtils; 10 | import springfox.documentation.swagger.web.SwaggerResource; 11 | import springfox.documentation.swagger.web.SwaggerResourcesProvider; 12 | 13 | import java.util.ArrayList; 14 | import java.util.List; 15 | 16 | @Primary 17 | @Configuration 18 | @EnableConfigurationProperties(value = SwaggerResourceConfig.class) 19 | @EnableAutoConfiguration 20 | public class SwaggerProviderAutoConfiguration implements SwaggerResourcesProvider { 21 | public static final String API_URI = "/v2/api-docs"; 22 | @Autowired 23 | private SwaggerResourceConfig swaggerResourceConfig; 24 | 25 | @Override 26 | public List get() { 27 | List resources = new ArrayList<>(); 28 | if (!CollectionUtils.isEmpty(swaggerResourceConfig.getNodes())) { 29 | for (Node node : swaggerResourceConfig.getNodes()) { 30 | resources.add(swaggerResource(node.getName(), node.getLocation(), node.getVersion())); 31 | } 32 | } 33 | return resources; 34 | } 35 | 36 | private SwaggerResource swaggerResource(String name, String location, String version) { 37 | SwaggerResource swaggerResource = new SwaggerResource(); 38 | swaggerResource.setName(name); 39 | swaggerResource.setLocation(location); 40 | swaggerResource.setSwaggerVersion(version); 41 | return swaggerResource; 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger/src/main/java/com/batman/common/swagger/config/SwaggerResourceConfig.java: -------------------------------------------------------------------------------- 1 | package com.batman.common.swagger.config; 2 | 3 | import com.batman.common.swagger.domain.Node; 4 | import lombok.Data; 5 | import org.springframework.boot.context.properties.ConfigurationProperties; 6 | import org.springframework.stereotype.Component; 7 | 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | 11 | /** 12 | * @author Batman.qin 13 | * @create 2018-12-10 10:57 14 | */ 15 | @Component 16 | @ConfigurationProperties("batman.swagger-resource") 17 | @Data 18 | public class SwaggerResourceConfig { 19 | private List nodes = new ArrayList<>(); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger/src/main/java/com/batman/common/swagger/domain/Node.java: -------------------------------------------------------------------------------- 1 | package com.batman.common.swagger.domain; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author Batman.qin 7 | * @create 2018-12-10 11:09 8 | */ 9 | @Data 10 | public class Node { 11 | private String name; 12 | private String location; 13 | private String version; 14 | } 15 | -------------------------------------------------------------------------------- /spring-cloud-starter-swagger/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.batman.common.swagger.config.SwaggerProviderAutoConfiguration -------------------------------------------------------------------------------- /static/bootstrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fafeidou/spring-boot-starter/d2e5274b8f9f80f64cb4d2274dbd2fed708fcb72/static/bootstrap.png -------------------------------------------------------------------------------- /static/simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fafeidou/spring-boot-starter/d2e5274b8f9f80f64cb4d2274dbd2fed708fcb72/static/simple.png --------------------------------------------------------------------------------