я имею 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, но не смог заставить его работать. Я могу создать отдельный сервис для получения пользователя по имени пользователя, но я бы хотел сохранить все это в одном сервисе, если это возможно.
Пожалуйста, помогите, спасибо!
Вы должны указать 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-скрипте, чтобы быть более понятным.
Других решений пока нет …