在 Spring Boot 中集成 Swagger 可参考之前的文章:Spring Boot 2 集成 Swagger, 在各个微服务中的配置与之相同;本文仅介绍在 Zuul 中的配置

在 Zuul 项目中添加配置

@Configuration
@EnableSwagger2
public class SwaggerConfig { @Autowired
ZuulProperties properties; @Primary
@Bean
public SwaggerResourcesProvider swaggerResourcesProvider() {
return () -> {
List<SwaggerResource> resources = new ArrayList<>();
properties.getRoutes().values().stream()
.forEach(route -> resources
.add(createResource(route.getServiceId(), route.getServiceId(), "2.0")));
return resources;
};
} private SwaggerResource createResource(String name, String location, String version) {
SwaggerResource swaggerResource = new SwaggerResource();
swaggerResource.setName(name);
swaggerResource.setLocation("/" + location + "/v2/api-docs");
swaggerResource.setSwaggerVersion(version);
return swaggerResource;
}
}

其中 /v2/api-docs 为 Swagger 的 api

测试

访问 http://localhost:8762/swagger-ui.html 即可看到效果 (8762 为 Zuul 项目的端口)

注意事项

  1. 各个微服务可以不引用 swagger-ui 依赖包,仅在 Zuul 项目引用即可
  2. 如果微服务中使用了Spring Security 需要放行 /v2/api-docs

参考:sample-zuul-swagger2

完整代码:GitHub

最新文章

  1. javascript [object,Object]
  2. AngularJs ngClass、ngClassEven、ngClassOdd、ngStyle
  3. Hibernate不能自动建数据表解决办法
  4. Hbase的连接池--HTablePool被Deprecated之后
  5. ASP.NET MVC轻教程 Step By Step 6——改进表单
  6. Java基础知识强化之集合框架笔记12:Collection集合存储字符串并遍历
  7. 怎样用Eclipse正确导入开源库AndroidStaggeredGrid
  8. linux pagecache与内存占用
  9. Thinkpad W540通过扩展坞连接显示器后蓝屏原因
  10. PJSUA2开发文档--第十一章 网络问题
  11. Echars鼠标点击事件多次触发
  12. eclipse项目名称后面括号里的名称和项目名称不一样
  13. oracle 把查询结果插入到表中几种方式
  14. 【MongoDB学习-安装流程】
  15. input文字颜色、光标颜色
  16. 两种方式创建支持SSH服务的docker镜像
  17. CSUOJ1329——一行盒子_湖南省第九届大学生计算机程序设计竞赛
  18. BZOJ 2131 圈地计划(最小割+黑白染色)
  19. BZOJ3509 [CodeChef] COUNTARI 【分块 + fft】
  20. String和stringbuffer和stringbuilder的区别

热门文章

  1. P2346 四子连棋
  2. Java复制数组的方法
  3. 适合 C++ 新手学习的开源项目——在 GitHub 学编程
  4. How to get last SysExcelWorksheet object row or column[X++]
  5. leetcode116:search-for-a-range
  6. 鸿蒙开发板外设控制 之 实现物理按键的“长按事件”(按键通用框架 V0.0.2)
  7. Jmeter-全局变量跨线程组使用
  8. C语言中宏的作用
  9. C# 中大端序与小端序
  10. VS2017新建MVC+ORM中的LinqDb访问数据库项目