实习的一点回顾Webhook的执行

news2024/9/22 4:18:36

1.Webhook流程

1.Bass外的部分

比如我通过控制台或者js脚本去调用curl命令call指定的webhook的地址的功能脚本

命令发送到网关,网关通过注册中心之类的发送到服务实体上。

这些是微服务的东西

2.OpenAPI到Controller阶段

先看之前openAPI的那篇前置

请求进来之后查OpenAPI的配置,找到OpenAPI-public.yaml

然后找到对应的Webhook.yaml

然后去找到对应的生成接口WebhookExcuteApi

再去找我们实现接口的实现类WebhookExcuteController

controller处理好请求里的头信息,设置好日志(公司自定义的日志ConsoleLogCollector)

把head、body,webhookId和携带的文件传给业务WebhookExcuteService处理

然后把返回值按指定格式发回去

3.业务执行

首先去查验这个webhook的id是否存在。

如果不存在或者状态失效

然后以系统角色身份访问

4.图形平台大概架构

账号关联到公司,公司是合作伙伴,公司下面有项目,每个项目下面有多个workspace工作空间

每个工作空间下面有多个表

5.权限模型

记着好像是 账号 (关联到 公司?不知道有没有这一步) 关联到 角色 关联到权限

然后有个角色默认权限来着,然后可以定义新角色加减权限

好像有系统权限(系统发的或者其他一些未识别身份的)、内部权限、外部权限(其它公司这种)

4.TODO @Entity注解,把实体类写成interface类型,比如WebhookDaoEntity.java  WebhookInternalEntity.java

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2101793.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Anaconda的环境管理操作命令详解-学习篇

一、通过命令方式管理环境 1. 查看环境 使用以下命令查看当前所有环境的命令conda env list可以看到目前电脑的base环境情况,我的本机只有一个base环境。是anaconda3在安装的时候所选的根目录信息。命令前的(base) 代表目前执行处于base环境,* 代表目前…

高德地图-小米14 Pro 定制版 v12.10.61.3021 简洁版

高德地图小米14 Pro 定制版是一款专门为小米14 Pro 设计的简洁版高德地图。相较于普通版本,该版本体积更小,运行速度更快,并且没有广告。支持驾车、骑行、公交地铁、步行等多种导航模式,使用北斗卫星导航系统,精准度非…

从零开始使用 LangGraph、LLaMA3 和 Elasticsearch 向量存储构建本地代理的教程

作者:来自 Elastic Pratik Rana 在本教程中,我们将了解如何使用 LangGraph、LLaMA3 和 Elasticsearch Vector Store 从头开始​​创建可靠的代理。我们将结合 3 篇高级 RAG 论文中的想法: 用于路由的自适应 RAG:根据内容将问题引…

Redis List 应用指南:命令、编码与阻塞操作全解析

list 类型 一 . 常见命令1.1 lpush、lrange1.2 lpushx1.3 rpush1.4 rpushx1.5 lpop、rpop1.6 lindex1.7 linsert1.8 llen1.9 lrem1.10 ltrim1.11 lset1.12 blpop 和 brpop原理使用 小结 二 . 内部编码5.3 应用场景5.3.1 作为 "数组" 这样的结构来存储多个元素5.3.2 消…

Spring高手之路22——AOP切面类的封装与解析

文章目录 1. AOP是如何收集切面类并封装的?2. Advisor 是什么,它是怎么构建的?2.1 什么是 Advisor2.2 Advisor 的构建(源码分析时序图说明) 3. TargetSource 的构建和作用3.1 TargetSource 的作用3.2 TargetSource 的构…

java实现,PDF转换为TIF

目录 ■JDK版本 ■java代码・实现效果 ■POM引用 ■之前TIF相关的问题(两张TIF合并) ■问题 ■问题1:无法生成TIF,已解决 ■问题2:生成的TIF过大,待解决 ■相关工具 SVF foxit ■相关知识 Imag…

Fastjson1.2.24(CVE-2017-18349)分析

前言 Fastjson在1.2.24版本之前存在两条利用链,分别是 JNDI com.sun.rowset.JdbcRowSetImplcom.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl 我们本次也是对这两条链进行分析和过程复现 在fastjson漏洞中,我们往往是寻找一个类&#xff0…

【苍穹外卖】Day 5 Redis、店铺营业状态接口

1 基本介绍 Redis是一个基于 内存 的 key-value 结构数据库 基于内存存储,读写性能高适合存储热点数据(热点商品、资讯、新闻)企业应用广泛 运行 在cmd下 redis-server.exe redis.windows.conf 启动状态下,再 redis-cli.exe 测试: 也可以…

Win32远线程注入

远线程注入 远线程(RemoteThread)注入是指一个进程在另一个进程中创建线程的技术,这是一种很经典的DLL注入技术。 虽然比较古老,但是很实用。通过远线程注入,再配合api函数的hook技术,可以实现很多有意思的功能。 实现远线程注入…

自己封装栈和队列

队列 #include <iostream>using namespace std; class queue { private:int *data;int size;int front;int tail;public://无参构造queue():size(20){datanew int [size];front0;tail0;}//有参构造queue(int s){datanew int [size];sizes;front0;tail0;}~queue(){delete …

MySQL三大日志详解

binlog相关 bin log是什么?作用是什么呢? 答: bin log实际上是一个物理日志,当我们对某个数据页进行修改操作时我们就会将这个操作写到bin log中,当我们数据库需要进行主备、主从复制等操作时,都可以基于bin log保证数据一致性。 那bin log缓冲区了解嘛? 答: 如下图…

硬件产品经理进阶:产品层次划分的3个方法

目录 1、内容简介 2、产品三层次概念 3、产品四层次概念 4、产品五层次概念 作者简介 1、内容简介 产品本身指的是能够满足需求和欲望的一种媒介物。 可以是实体、也可以是虚拟的服务。 在产品竞争白热化的今天&#xff0c; 如果只是考虑把产品做出来、 仅仅在实际产…

【微信小程序入门】3、微信小程序开发基础及微信开发者工具的使用

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

vue2———组件

一个简单的组件 组件进行注册并使用 结果&#xff1a; 在进行对组件的学习时遇见一些问题&#xff1a; 1、组件的命名 解决方法&#xff1a; 组件的命名 Vue.js 组件的命名遵循一些最佳实践&#xff0c;这些实践有助于保持代码的清晰和一致性。 多单词命名&#xff1a;Vue 官…

【网络安全】Collabora在线存储型XSS(CVE-2024-29182)+代码审计

未经许可,不得转载。 文章目录 前言正文代码审计前言 Collabora 是一家专注于开源软件的公司,主要提供与文档协作、办公套件和企业解决方案相关的服务。 Collabora 提供了 Collabora Online,这是一个基于 Web 的在线办公套件,允许用户在浏览器中实时编辑文档。这种服务特…

Two to One——C语言提高题【7 kyu】

一、原题 链接&#xff1a;Training on Two to One | Codewars Take 2 strings s1 and s2 including only letters from a to z. Return a new sorted string (alphabetical ascending), the longest possible, containing distinct letters - each taken only once - coming…

继承:复杂的菱形继承与虚继承

目录 前言 复杂的菱形继承及菱形虚拟继承 继承方式 virtual关键字 虚拟继承的原理 原理&#xff1a; 额外消耗&#xff1a; 构造顺序为什么是ABCD 不允许使用间接非虚拟基类原理 假设只有A B 为什么virtual加在B C中而不是D中&#xff1f; 如何实现一个不能被继承的类…

AtCoder ABC 359 F 题解

本题要看出性质并进行验证&#xff0c;程序难度低。&#xff08;官方 Editorial 似乎没有写证明过程&#xff1f;难道是过于显而易见了吗…&#xff09; 题意 给你一个数组 a a a&#xff0c;对于一棵 n n n 个节点的树 T T T&#xff0c; d i d_i di​ 为每个节点的度&am…

基于Java+SpringBoot+Vue的校园社团信息管理

基于JavaSpringBootVue的校园社团信息管理 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;&公&粽&号 查找《智能编…

C++ 栈和队列的简单封装(9.3)

1.栈的封装 代码 #include <iostream>using namespace std;typedef int datatype; class Stack { private:datatype *data;int max_size; //栈的大小int the_top; //栈顶 public:Stack(){data new int[50];max_size 50;the_top -1;}Stack(int a){data n…