如何通过Web客户端调用将对象传递给期望对象作为参数的Web API控制器?

时间:2018-11-15 18:35:03

标签: asp.net-web-api

我将控制台应用程序作为客户端,并试图通过将客户端ID传递给Web API控制器来获取工作表数据。然后创建一个ClientWorkSheet对象,其中包含从先前的API调用中接收到的信息以及其他一些详细信息。 (到目前为止,代码工作正常)

现在,我想将此ClientWorkSheet对象作为参数传递给另一个API控制器,该控制器接受该对象并将其打印出来。此时,我在调用API时遇到媒体类型不受支持的错误:
call To API。控制器动作方式:
Controller action method

这是WebClient代码:

jwt

1 个答案:

答案 0 :(得分:0)

我的一位同事建议使用RestSharp在Web API调用中传递对象,这对我很有用。共享,因为它非常易于使用。

var reportRequest = new RestSharp.RestRequest("api/ClientWorksheet/CreateClientWorksheetAsPdf", RestSharp.Method.POST)

            {
                RequestFormat = RestSharp.DataFormat.Json
            };

            reportRequest.AddBody(sheet);
            var restClient = new RestSharp.RestClient
            {
                BaseUrl = new Uri("http://localhost:50061"),
                Authenticator = new RestSharp.Authenticators.NtlmAuthenticator()
            };

                var response = restClient.Execute<DataSet>(reportRequest);
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    //success
                }