Angularjs GET-http-request zu REST-server gibt 500 (Internal Server Error)
Ich habe eine RESTful-Web-Service, das wirkt wie ein Archiv der ToDo-Aufgaben.
Auf der anderen Seite habe ich eine Web-Anwendung verwendet, REST-Server, die für die Verwaltung der Todo-repository.
Habe ich versucht, meinen ersten Aufruf vom client an den server, um einige Daten, aber es funktioniert nicht.
Den code in der REST-Server ist wie folgt:
/**
* A service that manipulates ToDo's in an repository.
*
*/
@Path("/todolist")
public class ToDoWebService {
/**
* The (shared) repository object.
*/
@Inject
ToDoList toDoList;
/**
* A GET /todos request should return the ToDo's repository in JSON.
* @return a JSON representation of the ToDo's repository.
*/
@GET
@Produces(MediaType.APPLICATION_JSON)
public ToDoList getToDoList() {
return toDoList;
}
....
- Und der client-Aufruf (in AngularJS):
(function() {
var app = angular.module('toDoApp', []);
var API_URI = "http://localhost:8080/todolist";
....
....
app.controller('addToDoCtrl', ['$scope', '$http', function($scope, $http){
$scope.getToDoList = function() {
$http.get(API_URI).
success(function(data) {
console.log(data);
}).
error(function(data, status, headers, config) {
console.log(status);
console.log(data);
console.log(headers);
console.log(config);
});
};
}]);
....
....
})();
Aber der server immer wieder ein 500 (Internal Server Error)
Dieser Ruf ist es, wenn Sie klicken Sie auf die "AddToDo" - tab der web-Anwendung, und Sie können sehen, das Ergebnis der Ausschreibung in der Konsole der Fehler in diesem Fall.
Aber die bemerkenswerteste Sache ist, dass wenn ich die REST-Server-code:
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getToDoList() {
return "It's me, example text";
}
Dann, es gibt richtig die Zeichenfolge "Es ist mir, Beispiel-text".
Ich habe die libaries enthalten in der
Ich habe die libaries enthalten in der bauen.gradle - Datei und alle server-Klassen immer wieder und finden keine Lösung.
Dies sind die Header der HTTP-Anfrage-Antwort, alles scheint in Ordnung, außer für die Fehler natürlich:
Remote Address:127.0.0.1:8080
Request URL:http://localhost:8080/todolist
Request Method:GET
Status Code:500 Internal Server Error
**Request Headers**
Accept:application/json, text/plain, */*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:es-ES,es;q=0.8,en;q=0.6
Connection:keep-alive
Host:localhost:8080
Origin:http://localhost
Referer:http://localhost/
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36
Response Headersview source
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:origin, content-type, accept, authorization
Access-Control-Allow-Methods:GET, POST, PUT, DELETE, OPTIONS, HEAD
Access-Control-Allow-Origin:*
Access-Control-Max-Age:1209600
Connection:close
Content-Length:0
Date:Fri, 31 Oct 2014 23:45:08 GMT
¿Wer vielleicht weiß, Woher dieser Fehler kommen könnte?
ToDoList
Typ definiert?Okay, du hast ein 500-Fehler, so zeigen die server-log bitte.
Vielleicht Dependency Injection mit
@Inject
wird nicht vom server unterstützt wird. Vielleicht in diesem Blick?Hier ist die ToDoList Klasse @PM77-1
Ich wünschte, ich könnte @denisazevedo aber es wird keine exception geworfen, die von der server-Seite
InformationsquelleAutor daniegarcia254 | 2014-11-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Liegt das problem in Ihrem POJO. Sie müssen einen null-argument-Konstruktor an die
ToDo
Klasse. Die MOXy marshaller aus dem POJO zu JSON erfordert einen null-argument-Konstruktor.Lopez-pellicer. Könnten Sie unter diesem link. stackoverflow.com/questions/47336295/...
InformationsquelleAutor Francisco J. Lopez-Pellicer