当前位置: 首页 > news >正文

六安网站建设费用百度官网平台

六安网站建设费用,百度官网平台,浙江百度代理公司,苏州有名的设计公司有很多读者问过这样的一个问题#xff1a;虽然使用Swagger可以为Spring MVC编写的接口生成了API文档#xff0c;但是在微服务化之后#xff0c;这些API文档都离散在各个微服务中#xff0c;是否有办法将这些接口都整合到一个文档中#xff1f;之前给大家的回复都只是简单的… 有很多读者问过这样的一个问题虽然使用Swagger可以为Spring MVC编写的接口生成了API文档但是在微服务化之后这些API文档都离散在各个微服务中是否有办法将这些接口都整合到一个文档中之前给大家的回复都只是简单的说了个思路昨天正好又有人问起索性就举个例子写成博文供大家参考吧。 如果您还不了解Spring Cloud Zuul和Swagger建议优先阅读下面两篇有一个初步的了解 Spring Cloud构建微服务架构服务网关基础Spring Boot中使用Swagger2构建强大的RESTful API文档 准备工作 上面说了问题的场景是在微服务化之后所以我们需要先构建两个简单的基于Spring Cloud的微服务命名为swagger-service-a和swagger-service-b。 下面只详细描述一个服务的构建内容另外一个只是名称不同如有疑问可以在文末查看详细的代码样例。 第一步构建一个基础的Spring Boot应用在pom.xml中引入eureka的依赖、web模块的依赖以及swagger的依赖这里使用了我们自己构建的starter详细可点击查看。主要内容如下 parent groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-parent/artifactId version1.5.10.RELEASE/version relativePath//parentdependencies dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-eureka/artifactId /dependency dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency dependency groupIdcom.spring4all/groupId artifactIdswagger-spring-boot-starter/artifactId version1.7.0.RELEASE/version /dependency/dependenciesdependencyManagement dependencies dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-dependencies/artifactId versionDalston.SR1/version typepom/type scopeimport/scope /dependency /dependencies/dependencyManagement第二步编写应用主类 EnableSwagger2DocEnableDiscoveryClientSpringBootApplicationpublic class Application { public static void main(String[] args) { new SpringApplicationBuilder(Application.class).web(true).run(args); } RestController class AaaController { Autowired DiscoveryClient discoveryClient; GetMapping(/service-a) public String dc() { String services Services: discoveryClient.getServices(); System.out.println(services); return services; } }}其中EnableSwagger2Doc注解是我们自制Swagger Starter中提供的自定义注解通过该注解会初始化默认的Swagger文档设置。下面还创建了一个通过Spring MVC编写的HTTP接口用来后续在文档中查看使用。 第三步设置配置文件内容 spring.application.nameswagger-service-aserver.port10010eureka.client.serviceUrl.defaultZonehttp://eureka.didispace.com/eureka/swagger.base-packagecom.didispace其中eureka服务端的配置采用了本站的公益eureka大家可以通过http://eureka.didispace.com/查看详细以及使用方法。另外swagger.base-package参数制定了要生成文档的package只有com.didispace包下的Controller才会被生成文档。 注意上面构建了swagger-service-a服务swagger-service-b服务可以如法炮制不再赘述。 构建API网关并整合Swagger 在Spring Cloud构建微服务架构服务网关基础一文中已经非常详细的介绍过使用Spring Cloud Zuul构建网关的详细步骤这里主要介绍在基础网关之后如何整合Swagger来汇总这些API文档。 第一步在pom.xml中引入swagger的依赖这里同样使用了我们自制的starter所以主要的依赖包含下面这些 dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-zuul/artifactId/dependencydependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-eureka/artifactId/dependencydependency groupIdcom.spring4all/groupId artifactIdswagger-spring-boot-starter/artifactId version1.7.0.RELEASE/version/dependency第二步在应用主类中配置swagger具体如下 EnableSwagger2DocEnableZuulProxySpringCloudApplicationpublic class Application { public static void main(String[] args) { new SpringApplicationBuilder(Application.class).web(true).run(args); } Component Primary class DocumentationConfig implements SwaggerResourcesProvider { Override public ListSwaggerResource get() { List resources new ArrayList(); resources.add(swaggerResource(service-a, /swagger-service-a/v2/api-docs, 2.0)); resources.add(swaggerResource(service-b, /swagger-service-b/v2/api-docs, 2.0)); return resources; } private SwaggerResource swaggerResource(String name, String location, String version) { SwaggerResource swaggerResource new SwaggerResource(); swaggerResource.setName(name); swaggerResource.setLocation(location); swaggerResource.setSwaggerVersion(version); return swaggerResource; } }}说明EnableSwagger2Doc上面说过是开启Swagger功能的注解。这里的核心是下面对SwaggerResourcesProvider的接口实现部分通过SwaggerResource添加了多个文档来源按上面的配置网关上Swagger会通过访问/swagger-service-a/v2/api-docs和swagger-service-b/v2/api-docs来加载两个文档内容同时由于当前应用是Zuul构建的API网关这两个请求会被转发到swagger-service-a和swagger-service-b服务上的/v2/api-docs接口获得到Swagger的JSON文档从而实现汇总加载内容。 测试验证 将上面构建的两个微服务以及API网关都启动起来之后访问网关的swagger页面比如http://localhost:11000/swagger-ui.html此时可以看到如下图所示的内容 可以看到在分组选择中就是当前配置的两个服务的选项选择对应的服务名之后就会展示该服务的API文档内容。 代码示例 本文示例读者可以通过查看下面仓库的中的swagger-service-a、swagger-service-b、swagger-api-gateway三个项目 GithubGitee 如果您对这些感兴趣欢迎star、follow、收藏、转发给予支持 以下专题教程也许您会有兴趣 Spring Boot基础教程Spring Cloud基础教程
http://www.yutouwan.com/news/336234/

相关文章:

  • 南宁老牌网站建设公司什么是ui界面
  • 网站域名和服务器到期wordpress投票代码
  • 网站建设常态化工作机制如何在百度搜索到自己的网站
  • 青海网站建设多少钱电商应该怎么做如何从零做起
  • 怎么帮人做网站电子商务网站设计代码
  • wp网站做企业站好不好青浦网站建设 迎鑫
  • 做结构设计有没有自学的网站装潢设计用什么软件
  • 专业网站开发服务青岛网络推广公司排名
  • 你有网站 我做房东 只收佣金的网站电影网站开发开题报告
  • 网站建设和实现中石建基础设施建设有限公司网站
  • 湖南智能网站建设平台专业做股权众筹的网站
  • 重庆网站制作长沙腾讯云服务器cvm
  • 西安微网站制作电子商务网站建设简答题
  • 开发帮官方网站中国神鹰网站建设
  • 个人做网站下载网上图可以吗网络营销跟做网站有什么区别
  • 德国的网站后缀凡科网站的排名做不上去
  • 不懂外贸做外贸网站好做吗贵州营销型网站
  • 企业网站写好如何发布wordpress参考
  • 网站开发实用技术 代码大庆网站开发
  • 传奇手游网站大全9377鹏达建设集团有限公司网站
  • php网站底部文件龙岩兼职
  • 徐州手机模板建站泰安市大众人才网
  • 绿地建设集团网站wordpress 可以上传存储附件
  • 站内推广有哪些方式网站如何做友情链接
  • 阿里巴巴网站威海哪里做做设备租赁的网站
  • 网站维护推广wordpress新建查询跳转
  • 重庆教育建设集团有限公司网站竞价网站策划
  • 网站开发分析模板asp.net 移动网站开发
  • 乐山乐人网站建设公司企业网站建设费现金流科目
  • 做图片素材的网站有哪些自做跨境电商网站收款