私はこの共通の CUser クラスを持っています
public class CUser
{
public String Username { get; set; }
public String Password { get; set; }
}
次に、RestSharpを使用するクライアントにこのコードがあります
public void CreateUser()
{
RestRequest request = new RestRequest(Method.POST);
request.RequestFormat = DataFormat.Json;
request.Resource = "user/{cUser}";
CUser user = new CUser
{
Username = "Foo",
Password = "BarBaz"
};
request.AddParameter("cUser", user, ParameterType.UrlSegment);
client.PostAsync<int>(request, (response, handler) =>
{
System.Diagnostics.Debug.WriteLine(response.StatusDescription);
System.Diagnostics.Debug.WriteLine("id: " + response.Data);
});
}
そして、私のglobal.asaxのこのhttpルート
routes.MapHttpRoute(
name: "CreateUser",
routeTemplate: "api/{controller}/{cUser}",
defaults: new
{
controller = "User",
action = "CreateUser",
cUser = RouteParameter.Optional
});
そして、それを処理するためのこのサーバーコード
public int CreateUser(CUser cUser)
{
User user = new User(cUser);
LoginManager manager = new LoginManager();
return manager.CreateUser(user);
}
しかし、それを実行するたびに、cUser の値は null (ユーザー名とパスワード) になるので、適切にシリアル化するために restsharp に何かをする必要がありますか?