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?

Wie ist 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

Schreibe einen Kommentar