相同的参数,不同的方法

时间:2012-12-03 13:42:28

标签: asp.net-mvc-4

我正在asp mvc 4中创建一个API。

我有两种方法,GetAllBooks()GetPopularBooks()

要获得所有书籍,我打电话给localhost:xxxxx / api / books /,我得到了正确的结果。 如何查询热门图书?这两种方法都是无参数的,我们的信息在这里没有用。

感谢所有帮助!

1 个答案:

答案 0 :(得分:0)

虽然可以使用“按操作名称路由”http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api来实现。我强烈建议将GetPopularBooks()视为GetAllBooks,但要使用过滤器。

e.g。

public IEnumerable<Books> GetAllBooks([FromUri]bool? IsPopular = null)
{
     if(IsPopular.HasValue)
     { //do something
       //return filtered
     }

     //return all
}

的url:

http://localhost/api/books
http://localhost/api/books?isPopular=true