Каков наилучший или лучший способ обработки публикации в веб-интерфейсе и как это будет сделано с помощью C #?
Код веб-API
public class ProcessController : ApiController
{
[HttpGet]
public string Test()
{
return "Hello from API";
}
[HttpPost]
public IHttpActionResult ApiPost(Model m)
{
return Ok();
}
}
public class Model
{
public int Id {get; set;}
public string Name {get; set;}
}
Код для вызова веб-API
HttpClient client = new HttpClient(new HttpClientHandler { UseDefaultCredentials = true });
client.BaseAddress = new Uri("http://localhost:2478/api/Process/");
HttpResponseMessage response = await client.GetAsync("test");
Model m = new Model ();
m.Id= 4;
m.Name = "test";
var r = client.PostAsJsonAsync("ApiPost", m);
Возвращает 500 внутреннюю ошибку сервера. Здесь чего-то не хватает?
Конфигурация веб-API
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
var settings = GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings;
settings.ContractResolver = new CamelCasePropertyNamesContractResolver();
settings.Formatting = Formatting.Indented;
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}