摘要: 一、网关鉴权 1、问题 当我们在未登录状态下点击“购买课程”按钮时,会显示“未知错误”,查看trade微服务控制台,发现控制台中报错,提示JWT为空,无法鉴权。 2、解决方案 微服务网关中添加自定义全局过滤器,统一处理需要鉴权的服务 3、鉴权逻辑描述 当客户端第一次请求服务时,服务端对用户进行信息认 阅读全文
posted @ 2020-11-01 21:26 碧水云天4 阅读(3065) 评论(0) 推荐(1) 编辑
摘要: 一、过滤器的基本概念 1、作用 过滤器就是在请求的传递过程中,对请求和响应做一些修改 2、生命周期 客户端的请求先经过“pre”类型的filter,然后将请求转发到具体的业务服务,收到业务服务的响应之后,再经过“post”类型的filter处理,最后返回响应到客户端。 pre: 这种过滤器在请求被路 阅读全文
posted @ 2020-11-01 21:17 碧水云天4 阅读(758) 评论(0) 推荐(0) 编辑
摘要: 内置路由断言工厂 Predicate(断言) 用于进行条件判断,只有断言都返回真,才会真正的执行路由。 SpringCloud Gateway包括许多内置的断言工厂,所有这些断言都与HTTP请求的不同属性匹配。具体如下: 1、基于Datetime 此类型的断言根据时间做判断,主要有三个: After 阅读全文
posted @ 2020-11-01 21:10 碧水云天4 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 一、基本配置 1、路由和断言 在application.yml文件中添加路由配置 -:表示数组元素,可以配置多个节点 id:配置的唯一标识,可以和微服务同名,也可以起别的名字,区别于其他 Route。 uri:路由指向的目的地 uri,即客户端请求最终被转发到的微服务。 predicates:断言的 阅读全文
posted @ 2020-11-01 21:04 碧水云天4 阅读(1027) 评论(0) 推荐(2) 编辑
摘要: 一、创建父模块infrastructure 1、创建模块 在guli_parent下创建普通maven模块 Artifact:infrastructure 2、删除src目录 二、创建模块api_gateway 1、创建模块 在infrastructure下创建普通maven模块 Artifact: 阅读全文
posted @ 2020-11-01 20:54 碧水云天4 阅读(737) 评论(0) 推荐(0) 编辑
摘要: 一、网关基本概念 1、API网关介绍 ​ API 网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题: (1)客户端会多次请求不同的微服务,增加了客户端的复杂性。 (2)存 阅读全文
posted @ 2020-11-01 20:47 碧水云天4 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 一、什么是Nginx Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。 Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Hos 阅读全文
posted @ 2020-11-01 17:39 碧水云天4 阅读(3244) 评论(0) 推荐(0) 编辑
摘要: Java开发工具类集合 01、MD5加密工具类 import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public final class MD5 { public static Stri 阅读全文
posted @ 2020-11-01 15:51 碧水云天4 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 一、修改课程销量 1、service层 接口:service_edu中CourseService void updateBuyCountById(String id); 实现:CourseServiceImpl @Override public void updateBuyCountById(Str 阅读全文
posted @ 2020-11-01 15:42 碧水云天4 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 一、查询支付状态 1、service层 接口:OrderService boolean queryPayStatus(String orderNo); 实现:OrderServiceImpl @Override public boolean queryPayStatus(String orderNo 阅读全文
posted @ 2020-11-01 15:39 碧水云天4 阅读(657) 评论(0) 推荐(0) 编辑
摘要: 一、准备 1、配置ngrok 将ngrok映射到本地8170端口,并启动 2、添加工具类 在common_util中添加工具类StreamUtils.java public class StreamUtils { private static int _buffer_size = 1024; /** 阅读全文
posted @ 2020-11-01 15:33 碧水云天4 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 一、准备 1、添加微信支付SDK 方式一: service_trade中添加依赖: <dependencies> <!--微信支付--> <dependency> <groupId>com.github.wxpay</groupId> <artifactId>wxpay-sdk</artifactI 阅读全文
posted @ 2020-11-01 15:31 碧水云天4 阅读(1228) 评论(0) 推荐(0) 编辑
摘要: 一、场景介绍 参考官方文档:https://pay.weixin.qq.com/wiki/doc/api/index.html Native支付 用户扫描商户展示在各种场景的二维码进行支付。 步骤1:商户根据微信支付的规则,为不同商品生成不同的二维码,展示在各种场景,用于用户扫描购买。 步骤2:用户 阅读全文
posted @ 2020-11-01 15:14 碧水云天4 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 一、方式一 第一步:注册公众号 **注册地址:**https://mp.weixin.qq.com/ **账号分类(四种):**服务号(主要面向企业)、订阅号(主要面向个人)、小程序、企业微信 注册类型必须为:服务号 请根据营业执照类型选择以下主体注册:个体工商户| 企业/公司| 政府| 媒体| 其 阅读全文
posted @ 2020-11-01 15:11 碧水云天4 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 一、准备 1、引入pom依赖 在要使用HttpClient的项目中加入依赖 <!--httpclient--> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> 阅读全文
posted @ 2020-11-01 15:01 碧水云天4 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 一、回调方法定义 ApiWxController中添加方法 @GetMapping("callback") public String callback(String code, String state){ //回调被拉起,并获得code和state参数 System.out.println("c 阅读全文
posted @ 2020-11-01 14:33 碧水云天4 阅读(1614) 评论(0) 推荐(1) 编辑
摘要: 一、准备工作 1、注册 微信开放平台:https://open.weixin.qq.com 2、邮箱激活 3、完善开发者资料 4、开发者资质认证 准备营业执照,1-2个工作日审批、300元 5、创建网站应用 提交审核,7个工作日审批 6、熟悉微信登录流程 **参考文档:**https://open. 阅读全文
posted @ 2020-11-01 14:26 碧水云天4 阅读(617) 评论(0) 推荐(0) 编辑
摘要: 一、OAuth2解决什么问题 1、开放系统间授权 照片拥有者想要在云冲印服务上打印照片,云冲印服务需要访问云存储服务上的资源 2、图例 资源拥有者:照片拥有者 客户应用:云冲印 受保护的资源:照片 3、方式一:用户名密码复制 用户将自己的"云存储"服务的用户名和密码,告诉"云冲印",(即资源服务器的 阅读全文
posted @ 2020-11-01 14:12 碧水云天4 阅读(213) 评论(0) 推荐(0) 编辑