微服务项目的整合与测试-微服务架构基础

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39329758/article/details/91409991

知识储备:

1.Swagger ui 封装

Swagger是一个Restful风格接口的文档在线自动生成和测试的框架 
官网:http://swagger.io 
官方描述:The World’s Most Popular Framework for APIs.

Swagger ui 的原生UI界面如下:

2.现在市面上的UI不足之处

1、原生UI显示的有些不够漂亮和清晰,特别是request 的model部分 

2、每个服务都需要引入一套资源文件,不能作为一个中间件为其他API使用

3、默认通用配置繁琐,每个项目都需要复制重新配置一份swagger信息

3.关于Swagger

Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原因:

  • Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。
  • Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。
  • Swagger 文件可以在许多不同的平台上从代码注释中自动生成。
  • Swagger 有一个强大的社区,里面有许多强悍的贡献者。

Swagger 文档提供了一个方法,使我们可以用指定的 JSON 或者 YAML 摘要来描述你的 API,包括了比如 names、order 等 API 信息。

你可以通过一个文本编辑器来编辑 Swagger 文件,或者你也可以从你的代码注释中自动生成。各种工具都可以使用 Swagger 文件来生成互动的 API 文档。

注:注意:用 Swagger 文件生成互动的 API 文档是最精简的,它展示了资源、参数、请求、响应。但是它不会提供你的API如何工作的其他任何一个细节。

实验目标

掌握微服务项目的整合使用
掌握Swagger-UI的简单使用

实验步骤

项目一、微服务项目整合

1.微服务项目预览

https://github.com/shi469391tou/microservice-mallmanagement.git地址下载,并导入eclipse

查看项目整体结构

2.微服务项目功能介绍

microservice-eureka-server(Eureka注册中心),搭建服务注册中心,子项目将通过配置注册到注册中心。

修改配置application文件如图所示:

microservice-gateway-zuul,作为其他微服务项目的API网关,实现其他微服务接口的动态代理。

配置application文件如图所示:

microservice-orderservice,主要用于商品订单管理,并提供有关订单管理的RESTFUL风格和API接口。

配置application文件如图所示:

在microservice-orderservice中写对应的控制器类:

microservice-userservice,主要用于商品用户管理,并提供有关用户管理的RESTFUL风格和API接口。

配置application文件如图所示:

在microservice-userservice中写对应的控制器类:

3.微服务项目启动与测试

创建数据库,并插入数据

CREATE DATABASE microservice_mallmanagement;

USE microservice_mallmanagement;



DROP TABLE IF EXISTS `tb_order`;

CREATE TABLE `tb_order` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `createtime` datetime DEFAULT NULL,

  `number` varchar(255) DEFAULT NULL,

  `userid` int(11) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=UTF8;

INSERT INTO `tb_order` VALUES ('1', '2017-10-09 10:15:44', '201709181459001', '1');

INSERT INTO `tb_order` VALUES ('2', '2017-10-24 18:22:12', '201709181459008', '1');



DROP TABLE IF EXISTS `tb_user`;

CREATE TABLE `tb_user` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `address` varchar(255) DEFAULT NULL,

  `username` varchar(255) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=UTF8;

INSERT INTO `tb_user` VALUES ('1', 'beijing', 'shitou');

 

查看订单表

查看用户表

启动项目并运行成功后,通过地址http://localhost:8761,访问注册中心

测试接口方法

http://localhost:7900/order/findOrders/1

http://localhost:8030/user/findOrders/shitou

测试API网关服务

http://localhost:8050/order-service/order/findOrders/1

http://localhost:8050/user-service/findOrders/shitou

项目二、接口可视化工具-Swagger-UI

1. Swagger-UI使用方法

下载Swagger-UI项目

引入Swagger-UI

用户管理类

订单管理类

加入Swagger依赖

用户管理类

订单管理类

编写配置类

订单管理

用户管理类

2.Swagger-UI使用测试

整合测试

重新启动项目,通过对应服务地址IP+端口+swagger-ui.html,列出接口控制类:

接口测试

单击user-controller面板,展示接口所有方法,单击某个方法,列出详细信息

在参数信息栏,输入username的参数值shitou,单击Try it out按钮进行测试

从图中可以看出,该方法查询出了username为shitou的用户订单信息,同时还提供了curl和URL两种请求方式,如果接口方法出现变更,只需要将对应的服务重启,并刷新文档页面就会自动更新对应的方法。

项目三、总结

猜你喜欢

转载自blog.csdn.net/weixin_39329758/article/details/91409991