entfernen Parameterbindung [FromUri] und aktualisieren Sie die Strecke wie
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{value}",
defaults: new { value = RouteParameter.Optional }
);
}
}
-Controller
[RoutePrefix("api/esb")]
public class EsbController : ApiController
{
[Route("get")]
[HttpGet]
public string Get()
{
return "Hello there!";
}
[Route("post/{value}")]
[HttpPost]
[AcceptVerbs("POST")]
public string Post(string value)
{
return string.Format("{0} is posted successfully ", value);
}
}
Dies ist für mich zu arbeiten, versuchen Postman in Chrom oder Fiedler zu verwenden.
POST http://localhost:XXXXX/api/esb/post/test HTTP/1.1
Sie dies nicht tun brauche den POST in der URL. Also sollte es so sein: 'http: // localhost: 53459/api/esb/test' – alltej