tengo al lado ApiControllerASP.NET Web API - puesto objeto de controlador de acción personalizada
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;
}
}
con el siguiente ruta
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
y quiero consumir este servicio. Puedo consumir primer método:
var client = new WebClient();
var result = client.DownloadString(@"http://localhost:61872/api/values/get");
pero no puedo consumir el segundo método. Cuando lo haga a continuación:
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);
capto siguiente excepción sin información adicional
The remote server returned an error: (500) Internal Server Error.
Tengo dos preguntas:
- Qué forma correcta de establecer objeto personalizado al parámetro del método de servicio?
- ¿Cómo puedo obtener información adicional sobre la excepción "mágica" de esta manera?
Oh, tío, gracias y que lo chidrens de usted)) su broma)) y que me puede dar algunos linлs con documentos sobre WebAPI además asp.net/mvc? – slavsergey