如何从另一个 .net API 调用 .net API?

Cha*_*Y S 2 c# asp.net api .net-core

是否可以从 .net 中的现有 API 调用 API?如果是的话,我们如何打电话?

Ber*_*ian 5

为了执行Http调用,您应该使用HttpClient位于命名空间中的System.Net.Http

欲了解更多信息:
https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=netframework-4.7.2

我已经提供了一个执行请求的示例Post

邮政

using System.Net.Http;
using Newtonsoft.Json;

public class MyObject
{
   public string Name{get;set;}
   public int ID{get;set;}
}
public async Task PerformPostAsync(MyObject obj)
{
    try
    {
        HttpClient client=new HttpClient();
        string str = JsonConvert.SerializeObject(obj);

        HttpContent content = new StringContent(str, Encoding.UTF8, "application/json");

        var response = await this.client.PostAsync("http://[myhost]:[myport]/[mypath]",
                               content);

        string resp = await response.Content.ReadAsStringAsync();
        //deserialize your response using JsonConvert.DeserializeObject<T>(resp)
    }
    catch (Exception ex)
    {
        //treat your exception here ...
        //Console.WriteLine("Threw in client" + ex.Message);
        //throw;
    }

}
public static async Task Main(){
    MyObject myObject=new MyObject{ID=1,Name="name"};
    await PerformPostAsync(myObject);

}
Run Code Online (Sandbox Code Playgroud)