spring cloud 学习(10) - 利用springfox集成swagger

简介: 对绝大多数程序员而言,写接口文档是一件痛苦的事情,相对文档,他们更愿意写代码。最理想的情况就是:代码即文档!服务开发完成后,部署上去文档就自动生成,没错,这就是springfox + swagger要解决的问题! swagger号称 THE WORLD'S MOST POPULAR API TOOLING。

对绝大多数程序员而言,写接口文档是一件痛苦的事情,相对文档,他们更愿意写代码。最理想的情况就是:代码即文档!服务开发完成后,部署上去文档就自动生成,没错,这就是springfox + swagger要解决的问题!

swagger号称 THE WORLD'S MOST POPULAR API TOOLING。但swagger默认情况下,仍要单独部署,程序员还是要跑到一个单独的web页面上编辑,写一堆yaml文档,依然不爽。

github上有一个springfox项目,可以在开发rest服务时,只要加一些注解,就自动生成swagger-ui界面,以及相关的文档,而且可以跟spring-boot/spring-cloud无缝集成。

步骤:

一、添加依赖项

    dependencies {
        ...
        compile "io.springfox:springfox-swagger2:2.7.0"
        compile "io.springfox:springfox-swagger-ui:2.7.0"
        ...
    }

  

二、添加swagger配置类

 1 package cn.mwee.order.cloud.service.express.config;
 2 
 3 import org.springframework.context.annotation.Bean;
 4 import org.springframework.context.annotation.Configuration;
 5 import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 6 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
 7 import springfox.documentation.builders.ApiInfoBuilder;
 8 import springfox.documentation.builders.PathSelectors;
 9 import springfox.documentation.builders.RequestHandlerSelectors;
10 import springfox.documentation.service.ApiInfo;
11 import springfox.documentation.service.Contact;
12 import springfox.documentation.spi.DocumentationType;
13 import springfox.documentation.spring.web.plugins.Docket;
14 import springfox.documentation.swagger2.annotations.EnableSwagger2;
15 
16 /**
17  * Created by yangjunming on 13/10/2017.
18  */
19 @Configuration
20 @EnableSwagger2
21 public class SwaggerConfig {
22 
23     @Bean
24     public Docket createRestApi() {
25         return new Docket(DocumentationType.SWAGGER_2)
26                 .apiInfo(apiInfo())
27                 .select()
28                 .apis(RequestHandlerSelectors.basePackage("xxx.controller")) //Controller所在的package
29                 .paths(PathSelectors.any())
30                 .build();
31     }
32 
33     @Bean
34     public WebMvcConfigurerAdapter addResourceHandlers() {
35         return new WebMvcConfigurerAdapter() {
36             @Override
37             public void addResourceHandlers(ResourceHandlerRegistry registry) {
38                 registry.addResourceHandler("swagger-ui.html")
39                         .addResourceLocations("classpath:/META-INF/resources/");
40                 registry.addResourceHandler("/webjars/**")
41                         .addResourceLocations("classpath:/META-INF/resources/webjars/");
42             }
43         };
44     }
45 
46     private ApiInfo apiInfo() {
47         return new ApiInfoBuilder()
48                 .title("express-service online api document")
49                 .description("某某服务") 
50                 .contact(new Contact("作者名字", "http://
目录
相关文章
|
10月前
|
数据可视化 Java BI
将 Spring 微服务与 BI 工具集成:最佳实践
本文探讨了 Spring 微服务与商业智能(BI)工具集成的潜力与实践。随着微服务架构和数据分析需求的增长,Spring Boot 和 Spring Cloud 提供了构建可扩展、弹性服务的框架,而 BI 工具则增强了数据可视化与实时分析能力。文章介绍了 Spring 微服务的核心概念、BI 工具在企业中的作用,并深入分析了两者集成带来的优势,如实时数据处理、个性化报告、数据聚合与安全保障。同时,文中还总结了集成过程中的最佳实践,包括事件驱动架构、集中配置管理、数据安全控制、模块化设计与持续优化策略,旨在帮助企业构建高效、智能的数据驱动系统。
465 1
将 Spring 微服务与 BI 工具集成:最佳实践
|
12月前
|
XML 人工智能 Java
Spring Boot集成Aviator实现参数校验
Aviator是一个高性能、轻量级的Java表达式求值引擎,适用于动态表达式计算。其特点包括支持多种运算符、函数调用、正则匹配、自动类型转换及嵌套变量访问,性能优异且依赖小。适用于规则引擎、公式计算和动态脚本控制等场景。本文介绍了如何结合Aviator与AOP实现参数校验,并附有代码示例和仓库链接。
708 0
|
12月前
|
安全 Java 数据库
第16课:Spring Boot中集成 Shiro
第16课:Spring Boot中集成 Shiro
1179 0
|
12月前
|
消息中间件 存储 Java
第15课: Spring Boot中集成ActiveMQ
第15课: Spring Boot中集成ActiveMQ
707 0
|
人工智能 Java 测试技术
Spring Boot 集成 JUnit 单元测试
本文介绍了在Spring Boot中使用JUnit 5进行单元测试的常用方法与技巧,包括添加依赖、编写测试类、使用@SpringBootTest参数、自动装配测试模块(如JSON、MVC、WebFlux、JDBC等),以及@MockBean和@SpyBean的应用。内容实用,适合Java开发者参考学习。
1327 0
|
9月前
|
PyTorch 算法框架/工具 异构计算
75_TPU集成:Google Cloud加速
在大型语言模型(LLM)训练和推理的竞赛中,计算硬件的选择直接决定了研发效率和成本。Google的Tensor Processing Unit(TPU)作为专为AI计算设计的专用芯片,正逐渐成为大规模LLM开发的首选平台之一。随着2025年第七代TPU架构Ironwood的发布,Google在AI计算领域再次确立了技术领先地位。
1777 0
|
10月前
|
监控 Cloud Native Java
Spring Integration 企业集成模式技术详解与实践指南
本文档全面介绍 Spring Integration 框架的核心概念、架构设计和实际应用。作为 Spring 生态系统中的企业集成解决方案,Spring Integration 基于著名的 Enterprise Integration Patterns(EIP)提供了轻量级的消息驱动架构。本文将深入探讨其消息通道、端点、过滤器、转换器等核心组件,以及如何构建可靠的企业集成解决方案。
852 0
|
12月前
|
Java 关系型数据库 数据库连接
Spring Boot项目集成MyBatis Plus操作PostgreSQL全解析
集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步骤与 MyBatis 类似,只不过在 MyBatis Plus 中提供了更多的便利功能,如自动生成 SQL、分页查询、Wrapper 查询等。
1065 2
|
12月前
|
缓存 JSON 前端开发
第07课:Spring Boot集成Thymeleaf模板引擎
第07课:Spring Boot集成Thymeleaf模板引擎
989 0
第07课:Spring Boot集成Thymeleaf模板引擎

热门文章

最新文章