2016-12-20 8 views
0

У меня проблема с фабрикой ресурсов углового. У меня есть идентификатор переменной пути, а REST API принимает на том же URL-адресе также параметр запроса, называемый «id». Опишем этот вопрос с некоторыми, например: URLУгловая переменная пути массива ngResource

Ресурса: "/person/:id"

REST API также принимает запрос пары идентификатора в качестве фильтра: "/person?id=5,7,11" или "/person?id=5&id=7&id=11"

$resource("/person/:id", {id: [5, 7, 11]}) 

Это дает неверный URL "/person/5,7,11". Я что-то пропустил? Я ожидал, что тип массива не может быть назначен как переменная пути. Вместо этого он должен быть автоматически преобразован в запрос параметров (? Id = 5 & id = 7 & id = 11). Кто-нибудь знает, как отменить это поведение? Btw. Я не могу изменить идентификатор имени. Спасибо за предложения ..

+0

удалить /: идентификатор и он должен работать, я думаю, мне нужен – yBrodsky

ответ

1

Попробуйте

$resource('/person/', {'id':[5, 7, 11]} 

или, в качестве альтернативы:

$resource("/person/?id=:myparams", {myparams: [5, 7, 11]}) 
+0

комбинация с путем переменного ид. Каждый объект (человек в этом случае) представлен фабрикой с одним уникальным адресом api в форме «/ object /: id». Поэтому изменение формы url или vars/params в одном случае из 10 не является решением для меня. Я ищу общий способ. Но спасибо – bigless

+1

Редактировать. Сожалею. Я не видел его в первый раз. Второй совет - это то, что я хочу ... с небольшим изменением $ resource ("/ person /: id? Id =: myparams", {myparams: [5, 7, 11]}) – bigless