这是oneUrl函数的签名:oneUrl(route,url)
并从文档:
并从文档:
oneUrl(route,url): This will create a new Restangular object that is
just a pointer to one element with the specified URL.
对我来说,在为资源提供URL时设置Route似乎没用.为什么它存在于参数列表中?为什么强制要求?它怎么用?
在我使用oneUrl时,我发现路由名称用于构建后续PUT和DELETE操作的URL.例如(伪代码):
原文链接:https://www.f2er.com/angularjs/141866.html// "GET /api/v2/users/3/ HTTP/1.1" 200 184 var user = Restangular.oneUrl('myuser','http://localhost:8000/api/v2/users/3').get(); user.name = 'Fred'; // the following uses the route name and not the URL: // "PUT /api/v2/myuser HTTP/1.1 404 100 user.put();
我对这种行为感到惊讶.我希望put()使用与get()相同的URL;这在我的情况下会有所帮助.
我的API使用JSON有效内容中的绝对URL导航到所有相关资源,我想使用oneUrl()到GET / PUT实例,而无需重新创建JS代码中的路由.但我对Restangular很新,所以我可能没有正确的心理模型.