ASP.NET Web API绑定方法
我有两种这样的方法
public class ProductController : ApiController
{
public Product GetProductById(int id)
{
var product = ... //get product
return product;
}
public Product GetProduct(int id)
{
var product = ... //get product
return product;
}
}
当我调用 url 时: GET http://localhost/api/product/1 。我希望调用第一个方法,而不是第二个方法。
我该怎么做?
I have two methods like this
public class ProductController : ApiController
{
public Product GetProductById(int id)
{
var product = ... //get product
return product;
}
public Product GetProduct(int id)
{
var product = ... //get product
return product;
}
}
When I call url: GET http://localhost/api/product/1 . I want the first method is invoked, not the second method.
How can I do that ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要唯一的 URI。你可以修改你的路线来获得这个
:);
现在您可以像这样访问您的 API:
http://localhost/api/product/GetProductById/1
http://localhost/api/product/GetProduct/1
我写了一点<一个href="http://blog.alexonasp.net/post/2012/02/16/ASPNET-MVC-4-public-beta-include-ASPNET-Web-API.aspx" rel="nofollow">ASP 简介.NET Web API,其中显示了与 WCF Web API 的一些差异。
您还可以添加一个默认操作,例如列出所有产品的一个,以便您可以执行以下操作:
另一个以这种方式调用
我所做的是拥有一个 ProductsController 和一个 ProductController。
ProductsController 负责对 T 的集合进行操作(获取全部),而 ProductController 负责对 T 进行操作(如获取特定集合)。
You need unique URIs. You can modify your route to get this:
);
Now you can access your API like this:
http://localhost/api/product/GetProductById/1
http://localhost/api/product/GetProduct/1
I've written a little introduction to ASP.NET Web API which shows some of the differences to WCF Web API.
You can also add a default action, e.g. the one the lists all products so you can do something like this:
and the other one is invoked this way
What I do is having a ProductsController and a ProductController.
ProductsController is responsible for operations on Collections of T (get all) and ProductController is responsible for operations on T (like getting a specific one).