Ich versuche, meine Feder Rest-Dienst AngularJS Client im Anschluss an diese linkAngularJS CRUD Ausgabe löschen (GET in DELETE-Methode genannt)
erstellen, aktualisieren zu konsumieren und lesen Teile arbeiten. Wenn ich versuche zu löschen, wird dieser Fehler angezeigt.
Error: [$resource:badcfg] Error in resource configuration for action
get
. Expected response to contain an object but got an array (Request: GET http://localhost:8080/SpringRestExample/employee)
Warum bekomme ich GET-Anfrage in DELETE-Methode?
employee_service.js
'use strict';
App.factory('Employee', ['$resource', function ($resource) {
return $resource(
'http://localhost:8080/SpringRestExample/employee/:id',
{id: '@employeeId'},
{
update: {
method: 'PUT'
}
}
);
}]);
employee_controller.js
'use strict';
App.controller('EmployeeController', ['$scope', 'Employee', function($scope, Employee) {
var self = this;
self.employee= new Employee();
self.employees=[];
self.fetchAllEmployees = function(){
self.employees = Employee.query();
};
self.createEmployee = function(){
self.employee.$save(function(){
self.fetchAllEmployees();
});
};
self.updateEmployee = function(){
self.employee.$update(function(){
self.fetchAllEmployees();
});
};
self.deleteEmployee = function(identity){
var employee = Employee.get({employeeId:identity}, function() {
employee.$delete(function(){
console.log('Deleting employee with id ', identity);
self.fetchAllEmployees();
});
});
};
self.fetchAllEmployees();
self.submit = function() {
if(self.employee.employeeId==null){
console.log('Saving New Employee', self.employee);
self.createEmployee();
}else{
console.log('Updating employee with id ', self.employee.employeeId);
self.updateEmployee();
console.log('Employee updated with id ', self.employee.employeeId);
}
self.reset();
};
self.edit = function(employeeId){
console.log('id to be edited', employeeId);
for(var i = 0; i < self.employees.length; i++){
if(self.employees[i].employeeId === employeeId) {
self.employee = angular.copy(self.employees[i]);
break;
}
}
};
self.remove = function(employeeId){
console.log('id to be deleted', employeeId);
if(self.employee.employeeId === employeeId) {//If it is the one shown on screen, reset screen
self.reset();
}
self.deleteEmployee(employeeId);
};
self.reset = function(){
self.employee= new Employee();
$scope.myForm.$setPristine(); //reset Form
};
}]);
bitte jemand mir helfen. – user3785322
Klingt, als ob Ihr Backend ein Array für die '.get' Anfrage zurückgibt. Nichts mit "DELETE" zu tun. Überprüfen Sie die Antwortdaten für "http: // localhost: 8080/SpringRestExample/employee/someEmployeeId" – Phil
@Phil Vielen Dank für den Vorschlag. – user3785322