WebApi控制器必须将模型发布到单独的Api。这是可能的,如果是的话,怎么样?
答案 0 :(得分:2)
是的,可以使用HttpClient
类。
以下是一个例子:
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://example.com");
var content = new StringContent("{\"foo\":\"bar\"}", Encoding.UTF8, "application/json");
await client.PostAsync("/api", content);
}
如果你已经有一个模型,你可以在传递之前将JSON序列化:
string json = JsonConvert.SerializeObject(model);
var content = new StringContent(json, Encoding.UTF8, "application/json");
还有PostAsJsonAsync
扩展方法可用于简化代码:
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://example.com");
await client.PostAsJsonAsync("/api", model);
}