У меня есть MVC проект, в котором я пытаюсь добавить API. Я создал метод API Post. Когда я отправляю сообщение с помощью почтальона, я сталкиваюсь с точкой останова в методе API post, но запись не создается в БД.
ManufacturerController
public IHttpActionResult Post(Manufacturers manufacturer)
{
return Created(
Url.Link("DefaultApi", new {controller = "Manufacturers", id=manufacturer.Id }),
manufacturer);
}
RouteConfig
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Product", action = "Index", id = UrlParameter.Optional }
);
}
}
Global.asax
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
WebApiConfig
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
var jasonSerializerSettings = config.Formatters.JsonFormatter.SerializerSettings;
jasonSerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
jasonSerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate:"api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional });
}
}
Когда я отправляю сообщение с помощью почтальона в http://localhost: 57309 / api / производителей
{
"name": "New Manu2",
"address": "Wroclaw",
"products": []
}
Я достиг своего предела в контроллере, но сообщение не создано. Расположение от почтальона: http://localhost: 57309 / API / Производители / 0