栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

.Net后台在一个API接口中调用另一个接口,传值格式为form-data格式

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

.Net后台在一个API接口中调用另一个接口,传值格式为form-data格式

今天讲的这个传值的格式为form-data


我们前后台传参的话用这个比较麻烦,我在这里就转换一下,这里传值依然是json,在后台在转

首先写一个供调用服务器的支持form-data的方法

public string PostJsonData(string url, Dictionary dic)
    {

        string str = "";
        try
        {
            HttpClient client = new HttpClient();
            var postContent = new MultipartFormDataContent();
            string boundary = string.Format("--{0}", DateTime.Now.Ticks.ToString("x"));
            postContent.Headers.Add("ContentType", $"multipart/form-data, boundary={boundary}");
            foreach (var key in dic.Keys)
            {
                postContent.Add(new StringContent(dic[key].ToString()), key);
            }
            HttpResponseMessage response = client.PostAsync(url, postContent).Result;
            str = response.Content.ReadAsStringAsync().Result;

        }
        catch (Exception ex)
        {
            return ("PostJsonData:" + ex.ToString());
        }
        return str;

    }

下边我在写一个方法把前台传过来的值传入该方法,然后获取我需要的返回值数据

public class codeInput
    { 
        public string time { get; set; } 
        public string phone { get; set; }
    }
    [HttpPost]  //这样前台传json格式的数据就可以,post提交方式
    [Route("codes")]
    public JsonResult code(codeInput input)
    {
        Data rtd = new Data();
        try
        { 
            int res;
                string url = "要调用服务器的url";
                Dictionary param = new Dictionary();
                param.Add("time", $"{input.time}");
                param.Add("phone", $"{input.phone}");
                //调用接口,发送数据
                string returnData = PostJsonData(url,param );
                JObject joResult = (JObject)JsonConvert.DeserializeObject(returnData);
                if (joResult.GetString("code") == "200")
                {
                    rtd.errcode = 0;
                    rtd.errmsg = "成功";
                    rtd.result = joResult;
                }
                else
                {
                    rtd.errcode = 1;
                    rtd.errmsg = "失败!";
                    //rtd.result = joResult;
                }
            }

            return Json(rtd);

        }
        catch (Exception ex)
        {
            rtd.errcode = 1;
            rtd.errmsg = ex.Message.ToString();
        }
        return Json(rtd);
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/907768.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号