i'm trying have get
, post
same route:
i've registered following:
config.maphttpattributeroutes(); config.routes.maphttproute( name: "mygetmethod", routetemplate: "api/v1/users/{user}", defaults: new { controller = "users", action = "mygetmethod" }, constraints: null, handler: httpclientfactory.createpipeline( new httpcontrollerdispatcher(config), routehandlerfactory.create())); config.routes.maphttproute( name: "mysetmethod", routetemplate: "api/v1/users/{user}", defaults: new { controller = "users", action = "mysetmethod" }, constraints: null, handler: httpclientfactory.createpipeline( new httpcontrollerdispatcher(config), routehandlerfactory.create()));
my userscontroller.cs
contains:
[httppost] public httpresponsemessage mysetmethod(string user) { return new httpresponsemessage(httpstatuscode.notimplemented); } [httpget] public httpresponsemessage mygetmethod(string user) { return new httpresponsemessage(httpstatuscode.notimplemented); }
this doesn't work. get
works fine, when use post
webapi still redirects get
method , error:
"message": "the requested resource not support http method 'post'."
if comment out registration of get
method, post
works fine.
is because i'm using combination between attributes [httppost]
, [httpget]
on controller methods instead of marking them constraints
?
how can have get
, post
on same route?
if use work
config.maphttpattributeroutes(); config.routes.maphttproute( name: "defaultapi", routetemplate: "api/{controller}/{id}", defaults: new { id = routeparameter.optional } );
Comments
Post a Comment