Ich habe nächsten ApiControllerASP.NET Web Api - Post Objekt benutzerdefinierte Aktion Controller
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;
}
}
mit dem nächsten Route
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
, und ich will diesen Dienst konsumieren. Ich kann erste Methode konsumieren:
var client = new WebClient();
var result = client.DownloadString(@"http://localhost:61872/api/values/get");
aber ich kann zweite Methode nicht verbrauchen. Wenn ich als nächstes tun:
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);
i ohne
zusätzliche Informationen nächste Ausnahme fangenThe remote server returned an error: (500) Internal Server Error.
Ich habe ein zwei Fragen:
- Welche richtige Art und Weise individuelle Objekt Service-Methode Parameter zu setzen?
- Wie kann ich zusätzliche Informationen über "magische" Ausnahme so erhalten?
Oh, Mann, ich danke Ihnen und ich, was chidrens von Ihnen)) seinen Witz)) und können Sie mir einige linлs mit docs über WebAPI neben asp.net/mvc? – slavsergey