我有一个URL https://localhost/api/Books/{value}
使用属性路由,但每当我通过{value}
作为null
或空字符串的WEB API不能将它路由到所需的控制器?如何解决此问题并解决它。错误消息的详细信息是:在控制器“书籍”上找不到与请求匹配的操作。“MVC属性路由控制器问题
0
A
回答
0
假设您已注册默认路由,请求...
http://localhost/api/books/34
将由followung控制器/动作,甚至没有使用属性路由然而,处理...
public BooksController : ApiController
{
public IHttpActionResult Get(int id){...}
}
,如果你需要的属性路由你装饰你的操作方法具有以下属性...
[HttpGet, Route("api/books/{id}")]
public IHttpActionResult Get(int id){...}
0
可以通过向route参数添加问号来使URI参数可选。如果路由参数是可选的,则必须为方法参数定义默认值。
public class BooksController : ApiController
{
[Route("api/books/locale/{lcid:int?}")]
public IEnumerable<Book> GetBooksByLocale(int lcid = 1033) { ... }
}
或者更好的办法(如果在您的方案作品)将有2条不同的路线:
[Route("api/books/{id}")]
public BooksController : ApiController
{
public IHttpActionResult Get(int id){...}
}
[Route("api/books")]
public BooksController : ApiController
{
public IHttpActionResult Get(){...}
}
相关问题
- 1. MVC属性的路由问题
- 2. Ember.js路由器/控制器属性
- 3. MVC编辑器模板路径问题与属性路由
- 4. WebApi2属性继承路由控制器
- 5. 每个控制器使用MVC属性路由的多个RoutePrefix?
- 6. .NET MVC 5.2继承基本控制器的属性路由
- 7. 如何从路由器内部访问控制器属性?
- 8. Rails的路由\控制器问题
- 9. Codeigniter控制器动作路由问题
- 10. Rails控制器/路由问题
- 11. 路由非问题的REST控制器
- 12. 路由到控制器问题
- 13. 笨指数控制器路由问题
- 14. 问题在MVC中使用属性路由路由默认路由
- 15. ASP.NET MVC 3路由问题 - 不允许控制器在URL中...
- 16. MVC 2中的问题路由控制器索引页
- 17. MVC控制器多视图和路由问题
- 18. 强制控制器的mvc路由
- 19. MVC控制器冒泡回路由器?
- 20. MVC路由问题
- 21. MVC路由问题
- 22. MVC路由问题
- 23. MVC路由问题
- 24. MVC路由问题
- 25. MVC路由问题
- 26. Ember.js控制器属性问题
- 27. Mvc 5属性路由
- 28. MVC中的属性路由
- 29. Asp.Net Mvc多属性路由
- 30. ASP.NET MVC 5动态控制器路由
但由于某些原因,我需要的属性路由看过来,那么现在该怎么办? –