Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Chamando métodos criados em $resource

Minha dúvida é a seguinte, quando chamamos o método update que criamos em $resource, passamos 4 parâmetros:

recursoFoto.update({fotoId: $scope.foto._id}, $scope.foto, function() {
    $scope.mensagem = "Foto alterada com sucesso";
}, function(erro) {
    console.log(erro);
    $scope.mensagem = "Não foi possível cadastrar foto";
})

Isso é diferente da forma que estamos chamando o método save, por exemplo, que passamos 3 parâmetros:

recursoFoto.save($scope.foto, function() {
    $scope.foto = {};
    $scope.formulario.$setPristine();
    $scope.mensagem = 'Foto cadastrada com sucesso';    
}, function(erro){
    $scope.mensagem = 'Não foi possível cadastrar a foto';
})

Minha dúvida é se esses métodos criados em $resource sempre terão 4 parâmetros ou se o Angular de alguma forma leva em consideração o verbo HTTP que estamos chamando?

1 resposta
solução!

Bom dia Eduardo!

É o curinga usado na url do resource que permite passar esses parâmetros. No save não precisamos passar parametro algum mas no update precisamos passar o id da foto. Qyando o parâmetro é passado ele entra no lugar de :fotoId.