2
respostas

Error ao substituir o parâmetro no $resource

Estou com problema na substituição do parâmetro passado para meu resource na hora da chamado do método get().

Exemplo:

controller.js

recursoFoto.get({fotoId: $routeParams.fotoId}, function(foto) {
                $scope.foto = foto; 
            }, function(erro) {
                console.log(erro);
                $scope.mensagem = 'Não foi possível obter a foto'
});

service.js

var recursoFoto = $resource('/v1/fotos/:fotoId', null, {
            'update' : { 
                method: 'PUT'
            }
});

No meu service aparentemente não está substituindo o parâmetro :fotoId pelo valor correto, exemplo 1. Quando eu substituo :fotoId por um valor numero para teste ele funciona normalmente. Quando não, ele estoura um erro na console, TypeError: encodeUriSegment is not a function.

Isso está acontecendo mesmo quando coloco um valor fixo na chamada do get também, por exemplo recursoFoto.get({fotoId: 1},function ...

2 respostas

Você atualizou as libs do Angular do curso? Já vi isso acontecer quando se mistura versões diferentes do Angular, por exemplo, a versão de um módulo resource X com a versão de Angular Y.

É melhor compartilhar o código completo do seu service (do arquivo como um todo) e do controller no qual esta usando o serviço.

Oi? Resolveu?