属性路由和CreatedAtRoute
我正在尝试将我的Web Api项目转换为使用属性路由。 我不理解的一件事是POST请求的CreatedAtRoute方法。 在我的WebApiConfig.cs中,我曾经有过
config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/account/{accountId}/site/{siteId}/visitor/{visitorId}/session/{sessionId}/{controller}/{action}", defaults: new { action = RouteParameter.Optional } );
我评论了这一点,认为不再需要它,但CreatedAtRoute想要路线的名称而无法找到它。 那么如何处理属性路由呢?
好的…一旦你看到最新情况,这很容易。 在属性路由中,您必须指定要检索资源的路由的名称。 所以在我的GET操作上它看起来像这样:
[Route("{sessionId}",Name="GetSession")] [ResponseType(typeof(Session))] public async Task Get(HttpRequestMessage request, int accountId, int siteId, Guid visitorId, Guid sessionId)
然后在POST操作中更改CreatedAtRoute:
return CreatedAtRoute("DefaultApi", new { controller: "session" visitorId = session.VisitorId, sessionId = session.SessionId }, session);
对此:
上述就是C#学习教程:属性路由和CreatedAtRoute分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
return CreatedAtRoute("GetSession", new { visitorId = session.VisitorId, sessionId = session.SessionId }, session);
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1042964.html