Olá a Todos,
Estive realizando alguns testes tentando cadastrar Usuários usando o mesmo jeito que foi montado o cadastro de fotos.
Mas ao editar o Angular está me retornando um erro:
angular.min.js:102 Error: [$resource:badcfg] http://errors.angularjs.org/1.3.15/$resource/badcfg?p0=get&p1=object&p2=array
at Error (native)
at http://localhost:3000/js/lib/angular.min.js:6:417
at q.then.p.$resolved (http://localhost:3000/js/lib/angular-resource.min.js:9:330)
at http://localhost:3000/js/lib/angular.min.js:112:113
at n.$eval (http://localhost:3000/js/lib/angular.min.js:126:15)
at n.$digest (http://localhost:3000/js/lib/angular.min.js:123:106)
at n.$apply (http://localhost:3000/js/lib/angular.min.js:126:293)
at l (http://localhost:3000/js/lib/angular.min.js:81:240)
at M (http://localhost:3000/js/lib/angular.min.js:85:342)
at XMLHttpRequest.F.onload (http://localhost:3000/js/lib/angular.min.js:86:367)
Error: $resource:badcfg
Response does not match configured parameter
Error in resource configuration for action `get`. Expected response to contain an object but got an array (Request: {3} {4})
Montei basicamente igual o cadastro de Foto, segue abaixo os arquivos:
Usuarios-Servicos.js
angular.module('usuariosServicos', ['ngResource'])
.factory('recursoUsuario', function($resource) {
return $resource('/v1/usuarios/:idcrmusuario', null, {
'update' : {
method: 'PUT'
}
});
})
.factory("cadastroDeUsuarios", function(recursoUsuario, $q) {
var service = {};
service.cadastrar = function(usuario) {
return $q(function(resolve, reject) {
if(usuario.idcrmusuario) {
recursoUsuario.update({idcrmusuario: usuario.idcrmusuario}, usuario, function() {
resolve({
mensagem: 'Usuario ' + usuario.nome + ' atualizado com sucesso',
inclusao: false
});
}, function(erro) {
console.log(erro);
reject({
mensagem: 'Não foi possível atualizar o usuario ' + usuario.nome
});
});
} else {
recursoUsuario.save(usuario, function() {
resolve({
mensagem: 'Usuario ' + usuario.nome + ' incluído com sucesso',
inclusao: true
});
}, function(erro) {
console.log(erro);
reject({
mensagem: 'Não foi possível incluir o usuario ' + usuario.nome
});
});
}
});
};
return service;
});
usuario-controller.js
angular.module('alurapic')
.controller('UsuarioController', function($scope, recursoUsuario, $routeParams, cadastroDeUsuarios) {
$scope.usuario = {};
$scope.mensagem = '';
if($routeParams.idcrmusuario) {
recursoUsuario.get({idcrmusuario: $routeParams.idcrmusuario}, function(usuario) {
$scope.usuario = usuario;
}, function(erro) {
console.log(erro);
$scope.mensagem = 'Não foi possível obter o Usuario'
});
}
$scope.submeter = function() {
if ($scope.formulario.$valid) {
cadastroDeUsuarios.cadastrar($scope.usuario)
.then(function(dados) {
$scope.mensagem = dados.mensagem;
if (dados.inclusao) $scope.usuario = {};
})
.catch(function(erro) {
$scope.mensagem = erro.mensagem;
});
}
};
});
Pelo que andei pesquisando o erro pode estar no $resource quando fazemos o GET, mas já implementei várias alterações e não consegui corrigi-lo.
Agradeço a ajuda de todos!