WebHook和API 及.NetFramework 实现
Webhook 是一个 API 概念,是微服务 API 的使用范式之一,也被称为反向 API,即前端不主动发送请求,完全由后端推送;
常见于 微信或支付宝的支付回调,简道云的数据推送等。
基于web API (v2.1)
实现方式 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <em id= "__mceDel" > [HttpPost] <br> [Route( "api/callback" )] public async Task<dynamic> CallBackByJdy() { Dictionary< string , string > dic = new Dictionary< string , string >(); try { var stream = new MemoryStream(); await Request.Content.CopyToAsync(stream); stream.Seek(0, SeekOrigin.Begin); var body = await new StreamReader(stream).ReadToEndAsync(); //获取回调的请求体 body;<br> <br> //可对body进行处理 业务逻辑code<br> HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK); foreach ( var value in response.RequestMessage.Headers) { dic.Add(value.Key, value.Value.First()); //获取请求头存入dic字典中 }<br> var uri = response.RequestMessage.RequestUri; //获取请求地址 var nonce = HttpUtility.ParseQueryString(uri.Query).Get( "nonce" ); //请求地址中包含的参数 var timestamp = HttpUtility.ParseQueryString(uri.Query).Get( "timestamp" ); var signature = dic.FirstOrDefault(t=>t.Key== "X-JDY-Signature" ).Value; //读取字典中的请求头数据 return ResponseMessage(response); //返回响应 } catch (Exception ex) { HttpResponseMessage message = Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "fail" , ex); return ResponseMessage(message); //throw; } } </em> |
分类:
.net
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· [翻译] 为什么 Tracebit 用 C# 开发
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 刚刚!百度搜索“换脑”引爆AI圈,正式接入DeepSeek R1满血版