首页 > Windows开发 > 详细

WebApi:属性路由配置[Route()]

时间:2015-10-23 18:21:13      阅读:1041      评论:0      收藏:0      [点我收藏+]

?

原文:http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2

?

属性方式和约定方式可以混用。

技术分享

?

代码片段:

启用

  1. public static class WebApiConfig
  2. {
  3. ????public static void Register(HttpConfiguration config)
  4. ????{
  5. ????????// Web API 配置和服务
  6. ????????// 将 Web API 配置为仅使用不记名令牌身份验证。
  7. ????????config.SuppressDefaultHostAuthentication();
  8. ????????config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
  9. ?
  10. ????????// Web API 路由
  11. ????????config.MapHttpAttributeRoutes();
  12. ?
  13. ????????config.Routes.MapHttpRoute(
  14. ????????????name: "DefaultApi",
  15. ????????????routeTemplate: "api/{controller}/{id}",
  16. ????????????defaults: new { id = RouteParameter.Optional}
  17. ????????);
  18. ????}
  19. }

?

HTTP METHOD和Route属性

  1. [Route("api/books")]
  2. [HttpPost]
  3. public HttpResponseMessage CreateBook(Book book) { ... }

?

前缀

  1. [RoutePrefix("api/books")]
  2. public class BooksController : ApiController
  3. {
  4. ????// GET api/books
  5. ????[Route("")]
  6. ????public IEnumerable<Book> Get() { ... }
  7. ?
  8. ????// GET api/books/5
  9. ????[Route("{id:int}")]
  10. ????public Book Get(int id) { ... }
  11. ?
  12. ????// POST api/books
  13. ????[Route("")]
  14. ????public HttpResponseMessage Post(Book book) { ... }
  15. }

?

约束

  1. [Route("users/{id:int:min(1)}")]
  2. public User GetUserById(int id) { ... }

?

可选参数

  1. public class BooksController : ApiController
  2. {
  3. ????[Route("api/books/locale/{lcid:int?}")]
  4. //[Route("api/books/locale/{lcid:int=1033}")]
  5. ????public IEnumerable<Book> GetBooksByLocale(int lcid = 1033) { ... }
  6. }

?

名称

[Route("api/books/{id}", Name="GetBookById")]

?

WebApi:属性路由配置[Route()]

原文:http://www.cnblogs.com/pengzhen/p/4904872.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!