【发布时间】:2014-09-12 16:50:52
【问题描述】:
我在 ProductController 中有一个带有以下方法的 webapi 后端:
[HttpGet]
[Route("api/product/FindName")]
public Product FindName(string name){
return name & "Hello "
}
我正在尝试在前端使用 $resource。
var resource = $resource('api/product/:id', {});
resource.query() 将使用 GetALL() 方法返回在服务器端公开的所有项目。这很好用。
$resource 中的 {action} 到底是做什么的?我已经看到了 POST 的示例,但是如果设置了怎么办
var resource = $resource('api/product/:id', {}, { FindName: { method: 'GET', params: { name: 'phone' } } });
这会在后端调用方法 FindName 吗?或者它到底是做什么的,如果我在方法中设置了“GET”,我的意思是参数。
我叫
resource.FindName({ name: 'phone' }, function () {
});
但是后端没有被解雇。我看到提琴手向服务器请求的调用是
Demo/api/product?name=phone
【问题讨论】:
-
我看错了,如果我们需要调用服务器端方法,那么必须提供action中的URL var resource = $resource('api/product/:id', { }, { FindName: { url: 'api/product/FindName', 方法: 'GET', 参数: { name: 'phone' } } });将调用服务器端方法。并且没有 url 的操作将仅引用已初始化的资源并对其进行处理..我对吗?所以这些是我们在客户端定义的资源上的一种自定义方法.. ??
标签: angularjs asp.net-web-api resources