RestSharpとWebApiをいじり始めたばかりですが、少し問題が発生しました。
これがベストプラクティスであるか可能であるかはわかりませんが、コードを通じてデモンストレーションします(これは私の正確なコードではありませんが、まったく同じ概念です)
[HttpPost]
public HttpResponseMessage CreateEmployee(Employee emp, int employeeType)
{
// CREATE EMPLOYEE
return Request.CreateResponse(HttpStatusCode.Created, emp.id);
}
RestSharpを使用してこれをテストするためのコンソールアプリを作成しました。これが私が持っているものです:
var client = new RestClient();
client.BaseUrl = @"http://localhost:15507";
var employee = new Employee();
//populate employee model
postrequest.Method = Method.POST;
postrequest.Resource = "api/Employee/CreateEmployee";
postrequest.AddHeader("Accept", "application/json");
postrequest.AddHeader("Content-Type", "application/json");
postrequest.RequestFormat = DataFormat.Json;
postrequest.AddBody(new { emp = employee, listId = 2 });
var res = client.Execute(postrequest);
私が得るエラーは、employeeTypeパラメーターがnullとして入ってくることです。これを正しくフォーマットしていますか?これは可能でさえありますか?
WebApiアクションメソッドからemployeeTypeパラメーターを削除し、リクエストを次のように変更すると、次のようになります。
postrequest.AddBody(employee);
すべてが正常に動作します。
何か案は?ありがとう