My Routes here:
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// Controllers with Actions
// To handle routes like `/api/VTRouting/route`
config.Routes.MapHttpRoute(
name: "ControllerAndAction",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional ,extension = RouteParameter.Optional }
);
And my API is:
[System.Web.Mvc.HttpPost]
[System.Web.Mvc.ActionName("san")]
public HttpResponseMessage san([FromBody]Login value)
{
var result = db.SSI_Member_Registation.Where(c => c.InqID == value.userid && c.BirthDt == value.Password).FirstOrDefault();
return Request.CreateResponse(HttpStatusCode.OK, result);
}
//// POST api/values
[System.Web.Mvc.HttpPost]
[System.Web.Mvc.ActionName("san1")]
public void Post([FromBody]string value)
{
}
I passed Parameter as Json and line these [![enter image description here][1]][1]
what I doing wrong?
Change the order of your routes:
// Web API routes
config.MapHttpAttributeRoutes();
// Controllers with Actions
// To handle routes like `/api/VTRouting/route`
config.Routes.MapHttpRoute(
name: "ControllerAndAction",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional ,extension = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
If you register the default one first, it will override the rest.