如何使用标题中的两个参数和正文中的第二个参数从另一个 MVC 项目调用 Web API

Posted

技术标签:

【中文标题】如何使用标题中的两个参数和正文中的第二个参数从另一个 MVC 项目调用 Web API【英文标题】:How to Call Web API from Another MVC Project with two Parameter one in header and second in body 【发布时间】:2021-12-31 21:09:44 【问题描述】:

我想从 mvc 项目中调用 api 操作,但我有一个问题 API 操作在标题中有两个参数,在正文中有第二个参数。

【问题讨论】:

ASP.NET MVC = 完整的经典 .NET 框架(最高 v4.8)上的 Web 应用程序框架 - ASP .NET Core MVC = 新的、跨平台的 .NET Core 平台上的 Web 应用程序框架 - 那么您在这里说的是哪一个?请精确(在您的文本中,在您选择的标签中)!它们密切相关 - 但不相同.... 如果您需要一些帮助,您必须发布视图和控制器操作代码以及您尝试使用的 url。 【参考方案1】:

您创建一个 HttpClient 对象并设置标头参数

using (var client = new HttpClient())

    client.BaseAddress = new Uri("http://localhost:64189/api/");
    
    //your header parameter name and value
    client.DefaultRequestHeaders.Add("hdrname", "hdrvalue"); 
    
    //HTTP GET
    var responseTask = client.GetAsync("youraction?param1=abc"); //Action Name
    responseTask.Wait();

    var result = responseTask.Result;
    if (result.IsSuccessStatusCode)
    
        // Use your class model to receive the data from the API
        var readTask = result.Content.ReadAsAsync<IList<YourModel>>();
        readTask.Wait();

        var r = readTask.Result;
    
    else //web api sent error response 
    
        //log response status here..
    

【讨论】:

以上是关于如何使用标题中的两个参数和正文中的第二个参数从另一个 MVC 项目调用 Web API的主要内容,如果未能解决你的问题,请参考以下文章

定位类中的第一个和第二个值

如何检查 discord.js v12 中的第二个参数是不是为空

逗号运算符返回参数列表中的第一个值而不是第二个值?

JavaScript 中 JSON.stringify 中的第二个参数

LayoutInflater类的inflate方法中的第二个参数怎么用,Android

addEventListener的第三个参数到底该怎么设置