我们如何从现有的 WebAPI 创建 JSON 对象 [FromBody] 并将其 postasync 到另一个 API?
可以使用Newtonsoft.Json将对象转换为json字符串,然后使用httpClient调用外部Web API或使用HttpClientFactory。
首先,使用Newtonsoft.Json将对象转换为json字符串:
using Newtonsoft.Json; var jsonString = JsonConvert.SerializeObject(emp);
然后,使用httpClient或HttpClientFactory调用外部Web API:
using (var client = new HttpClient()) { client.BaseAddress = new Uri("url"); var httpContent = new StringContent(jsonString, Encoding.UTF8, "application/json"); var result = await client.PostAsync("/endpoint", httpContent); string resultContent = await result.Content.ReadAsStringAsync(); }
以上是正确的方式,需要将json字符串作为HttpContent对象的第二个参数传递给PostAsync方法。