2016-02-04 5 views
0

Это конфигурация моего ресурса, так как вы можете видеть, что я переопределяю url в дополнительном действии.Параметр запроса углового ресурса, добавленный в действие с переопределением URL-адрес

var CommerceService = ['$resource', 'context', function ($resource, context) { 
    return $resource('api/commerces/:id', {id: 0}, { 
     add: {url: 'api/commerces/new/storesNumber/:storesNumber', method: 'POST', params: {storesNumber: 0}}, 
     findMallStores: {url: 'api/commerces/mall/:id/stores', method: 'GET', isArray: true} 
    }); 
}]; 

Это, как я называю это конкретное действие

//more code 
var stores = 0; 
commerce.$add({storesNumber: stores}).then(function (response) { 
    $location.path('/commerces/show/' + response.id); 
}); 

Это результат, который я получаю.

http://localhost:8080/commerce-web/api/commerces/new/storesNumber/0?id=0

Я ожидаю, чтобы получить URL, как этого

http://localhost:8080/commerce-web/api/commerces/new/storesNumber/0

Это все еще работает, но я ожидаю, чтобы не получить де запрос пары «идентификатора» добавляется в URL ,
Что я делаю неправильно? И еще важнее, почему это происходит?

+0

Указанный контроллер маршрута должен делать что-то вроде добавления '$ location.search ('id', 0)' –

+0

Я думаю, может быть, что-то подобное происходит. Я решил передать пустой аргумент этому параметру в действие ресурса, как описано ниже. – whyem

ответ

0

Я решил, в основном трюк раздеться базовый URL ожидаемый параметр проезжал пустой объект в качестве аргумента ->{id: undefined}

//more code 
var stores = 0; 
commerce.$add({id: undefined, storesNumber: stores}).then(function (response) { 
    $location.path('/commerces/show/' + response.id); 
}); 

теперь URL является таким, как ожидалось, без ресурсного параметра базового URL.

 Смежные вопросы

  • Нет связанных вопросов^_^