次のApiControllerがあります
public class ValuesController : ApiController
{
// GET /api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
public User CreateUser(User user)
{
user.Id = 1000;
return user;
}
}
次のルートで
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
そして私はこのサービスを利用したいです。私は最初の方法を消費することができます:
var client = new WebClient();
var result = client.DownloadString(@"http://localhost:61872/api/values/get");
しかし、私は2番目の方法を消費することはできません。私が次にするとき:
var user = new User() { Name = "user1", Password = "pass1" };
var json = Newtonsoft.Json.JsonConvert.SerializeObject(user);
result = client.UploadString(@"http://localhost:61872/api/values/createuser", json);
追加情報なしで次の例外をキャッチします
リモートサーバーがエラーを返しました:(500)内部サーバーエラー。
2つの質問があります:
- カスタムオブジェクトをサービスメソッドパラメータに設定する正しい方法は何ですか?
- このような「魔法の」例外に関する追加情報を取得するにはどうすればよいですか?