Передать несколько параметров ресурса Angularjs

я имею UsersService.js

app.factory('UsersService', function($resource) {
return $resource('api/users/:id', {}, {
update: {method:'PUT'},
});

Вместе с Index.php (API с PHP Slim Framework)

...
$app->get('/users/:id', 'getUser');
$app->get('/users/:username', 'getUserByUsername');
function getUser(){ ... }
function getUserByUsername(){ ... }
...

Теперь, когда я пытаюсь позвонить куда-нибудь UsersService.get({id:15}); Это работает, но когда я пытаюсь позвонить UsersService.get({username:'test'}); Это не работает …

Я перепробовал все возможные способы поиска в Google, но не смог заставить его работать. Я могу создать отдельный сервис для получения пользователя по имени пользователя, но я бы хотел сохранить все это в одном сервисе, если это возможно.

Пожалуйста, помогите, спасибо!

0

Решение

Вы должны указать angular $ resource, откуда берется значение для: username.

Для более подробной информации смотрите на документация

Сменить UserService.js :

app.factory('UsersService', function($resource) {
return $resource('api/users/:id/:username', {id:'@id',username:'@username'}, {
update: {method:'PUT'}
});

Редактировать:

Как ваш php-скрипт узнает об этом, когда получит /users/123 он должен пройти первый маршрут, но когда он доберется /users/123joe он должен идти по следующему маршруту? Вы подтверждаете это как-то? Если нет, вам следует изменить маршруты в PHP-скрипте, чтобы быть более понятным.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]