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

知识储备:

1.Swagger ui 封装

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

Swagger ui 的原生UI界面如下:

微服务项目的整合与测试-微服务架构基础_第1张图片

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张图片

查看项目整体结构

微服务项目的整合与测试-微服务架构基础_第3张图片

2.微服务项目功能介绍

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

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

微服务项目的整合与测试-微服务架构基础_第4张图片

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

配置application文件如图所示:

微服务项目的整合与测试-微服务架构基础_第5张图片

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

配置application文件如图所示:

微服务项目的整合与测试-微服务架构基础_第6张图片

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

微服务项目的整合与测试-微服务架构基础_第7张图片

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

配置application文件如图所示:

微服务项目的整合与测试-微服务架构基础_第8张图片

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

微服务项目的整合与测试-微服务架构基础_第9张图片

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');

 

查看订单表

微服务项目的整合与测试-微服务架构基础_第10张图片

查看用户表

微服务项目的整合与测试-微服务架构基础_第11张图片

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

微服务项目的整合与测试-微服务架构基础_第12张图片

测试接口方法

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

微服务项目的整合与测试-微服务架构基础_第13张图片

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

微服务项目的整合与测试-微服务架构基础_第14张图片

测试API网关服务

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

微服务项目的整合与测试-微服务架构基础_第15张图片

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

微服务项目的整合与测试-微服务架构基础_第16张图片

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

1. Swagger-UI使用方法

下载Swagger-UI项目

微服务项目的整合与测试-微服务架构基础_第17张图片

引入Swagger-UI

用户管理类

微服务项目的整合与测试-微服务架构基础_第18张图片

订单管理类

微服务项目的整合与测试-微服务架构基础_第19张图片

加入Swagger依赖

用户管理类

微服务项目的整合与测试-微服务架构基础_第20张图片

订单管理类

微服务项目的整合与测试-微服务架构基础_第21张图片

编写配置类

微服务项目的整合与测试-微服务架构基础_第22张图片

订单管理

微服务项目的整合与测试-微服务架构基础_第23张图片

用户管理类

微服务项目的整合与测试-微服务架构基础_第24张图片

微服务项目的整合与测试-微服务架构基础_第25张图片

2.Swagger-UI使用测试

整合测试

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

微服务项目的整合与测试-微服务架构基础_第26张图片

微服务项目的整合与测试-微服务架构基础_第27张图片

接口测试

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

微服务项目的整合与测试-微服务架构基础_第28张图片

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

微服务项目的整合与测试-微服务架构基础_第29张图片

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

微服务项目的整合与测试-微服务架构基础_第30张图片

项目三、总结

 

你可能感兴趣的:(微服务架构基础,微服务项目的整合使用,Swagger-UI的简单使用,微服务架构基础)