使用 .NET Framework 4.5 将 JSON 传递给 ASP.NET MVC 4 中的 WebApi

Passing JSON to WebApi in ASP.NET MVC 4 using .NET Framework 4.5

我正在尝试传递来自 Restful API 的模型。我的代码是:

public class RestApiInvocations<T>
{
    public HttpResponseMessage Post(string url, T model)
    {
        HttpResponseMessage result = null;
        HttpClient client = new HttpClient();
        try
        {
             result = client.PostAsJsonAsync(url, model).Result;
        }
        catch (Exception ex)
        {
            System.Diagnostics.Debug.WriteLine(ex);
        }
        return result;

    }
}

在我的 API 控制器中,我在传入参数上添加了 FromUriFromBody 属性。

但是我的 HttpClient object 不允许我添加 Content-Type header。我可以添加一个接受 header,所以我尝试添加一个接受 header 和 application/json,但没有结果。有什么建议么? 谢谢你的帮助!

private const string _Uri = "/ROUTE_TO_ACTION";

    public ReturnModel AddInvoice(SomeModel model)
    {
        var uri = string.Format(_Uri);
        var response = ServiceClient().PostAsJsonAsync(uri, model).Result;
        var result = response.Content.ReadAsAsync<ReturnModel>().Result;
        return result;
    }

    private HttpClient ServiceClient()
    {
        var client= new HttpClient();
        client.BaseAddress = new Uri("YOUR_BASE_URL_TO_API");   //"http://localhost:8080/"
        client.Timeout = TimeSpan.FromMinutes(3);
    }

设置你的 Urls/Endpoints 和 运行 它。 并在编写代码之前在 POSTMAN 上测试 Api 端点。