美文网首页
可以通过一个API向另一个API发送数据

可以通过一个API向另一个API发送数据

作者: AI时代岁月笔记 | 来源:发表于2020-07-18 16:57 被阅读0次

微信支付或退款后会发一个通知给商户设定的不带参数的API, 从这个功能联想到用.net core肯定也可以一个接口向另一个接口发送数据,试了一下,果然行,用这个方法日后可以实现很多有用的功能。

后端C# .net core代码:

/// <summary>
        /// 发送post数据到指定接口
        /// </summary>
        /// <param name="postContent"></param>
        /// <param name="url"></param>
        /// <returns></returns>
        [HttpPost]
        public string PostData(string postContent, string url)
        {
            var respStr = string.Empty;
            var k = PayHelper.MD5(key);
            using (WebClient webClient = new WebClient())
            {
                var data = Encoding.UTF8.GetBytes((String)postContent);
                var response = webClient.UploadData(url, data);
                respStr = Encoding.UTF8.GetString(response);
            }
            return respStr;
        }

        /// <summary>
        /// 接收通知数据
        /// </summary>
        [HttpPost]
        public async Task<string> DataNotify()
        {
            string sourceStr = string.Empty ;
            var request = this.HttpContext.Request;
            request.EnableBuffering();
            var stream = this.HttpContext.Request.Body;
            using (var reader = new StreamReader(stream, Encoding.UTF8))
            {
                sourceStr = await reader.ReadToEndAsync();
                request.Body.Position = 0;
            }
            return sourceStr;
        }

前端试调用jQuery代码:

$.ajax({
                    url: "/Work/PostData",
                    dataType: "text",
                    type: "POST",
                    data: {
                        postContent: `江山如画,一时多少豪杰`, url: "https://localhost:44351/work/DataNotify"},
                    success: res => {
                        console.log(res);
                    },
                    error: err => {
                        console.log(err);
                    }
                })

(易国轩 2020-07-17)

相关文章

网友评论

      本文标题:可以通过一个API向另一个API发送数据

      本文链接:https://www.haomeiwen.com/subject/frpxkktx.html