我的要求:
我需要从现有API调用另一个API。
现在我的问题是,可以从.net中的另一个API调用一个API吗? 如果是,如何?
答案 0 :(得分:3)
要执行Http
呼叫,您应该使用HttpClient
名称空间中的System.Net.Http
。
有关更多信息:
https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=netframework-4.7.2
我提供了一个执行Post
请求的示例:
POST
using System.Net.Http;
using Newtonsoft.Json;
public class MyObject
{
public string Name{get;set;}
public int ID{get;set;}
}
public async Task PerformPost(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 PerformPost(myObject);
}