我正在使用 Angular 在同一应用程序上使用 RESTful API。我有一个 $resource 设置contacts
资源位于http://sample-site.com/api/contacts
这很棒并且有效,但是我需要与基本的 CRUD 进行交互/api/contacts
在应用程序的不同页面上。
例如,我需要在托管于以下位置的网络应用程序的另一个页面上再次与联系人进行交互http://sample-site/friends/{friend-id}
。但是,当我尝试在该页面上使用我的联系人资源时,该资源的 url 会附加到current URL:
GET | http://sample-site/friends/1/api/contact
但我真正需要的是 GET |http://sample-site/api/contact
在该页面上的该资源上。
有没有办法配置资源来定义与当前页面相关的不同基本 URL?
这是我尝试更改资源内的基本 URL:
.factory('ContactRest', ['$resource', '$location', function($resource, $location) {
var host = $location.host()
return $resource('https://:url/:action', {}, {
// Normal CRUD actions
query: {
url : host,
action : 'api/contact',
method : 'GET',
isArray : true,
}
}]);
这使得https://sample-site/friends/1/sample-site/api/contact
。不管我如何定义 $resource,只是不断将任何 URL 附加到基本 URL 上。我需要更改 URL 的基础。