Невозможно отправить данные JSON в Rest API для запроса POST - PullRequest
1 голос
/ 30 сентября 2019

Привет, ребята. Я пытаюсь отправить данные JSON методом ajax. В Back-end я написал метод POST для получения данных при нажатии кнопки отправки. Но при нажатии кнопки подтверждения я получаю «HTTP Status 500 - Internal Server Error».

Я проверил с помощью POSTMAN, код работает нормально.

Ниже приведена ошибка, с которой я сталкиваюсьотправка данных.

Статус HTTP 500 - Внутренняя ошибка сервера

Тип исключения Отчет

Message javax.json.stream.JsonParsingException: Unexpected char 97 at (line no=1, column no=2, offset=1), expecting 'u'

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception
javax.servlet.ServletException: javax.json.stream.JsonParsingException: Unexpected char 97 at (line no=1, column no=2, offset=1), expecting 'u'\r\n\torg.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:408)\r\n\torg.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)\r\n\torg.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:365)\r\n\torg.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:318)\r\n\torg.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)\r\n\torg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)\r\n

Root Cause
javax.json.stream.JsonParsingException: Unexpected char 97 at (line no=1, column no=2, offset=1), expecting 'u'\r\n\torg.glassfish.json.JsonTokenizer.expectedChar(JsonTokenizer.java:583)\r\n\torg.glassfish.json.JsonTokenizer.readNull(JsonTokenizer.java:315)\r\n\torg.glassfish.json.JsonTokenizer.nextToken(JsonTokenizer.java:372)\r\n\torg.glassfish.json.JsonParserImpl$NoneContext.getNextEvent(JsonParserImpl.java:402)\r\n\torg.glassfish.json.JsonParserImpl.next(JsonParserImpl.java:352)\r\n\torg.eclipse.yasson.internal.JsonbRiParser.next(JsonbRiParser.java:140)\r\n\torg.eclipse.yasson.internal.Unmarshaller.getRootEvent(Unmarshaller.java:70)\r\n\torg.eclipse.yasson.internal.Unmarshaller.deserializeItem(Unmarshaller.java:58)\r\n\torg.eclipse.yasson.internal.Unmarshaller.deserialize(Unmarshaller.java:51)\r\n\torg.eclipse.yasson.internal.JsonBinding.deserialize(JsonBinding.java:45)\r\n\torg.eclipse.yasson.internal.JsonBinding.fromJson(JsonBinding.java:85)\r\n\torg.glassfish.jersey.jsonb.internal




Ajax Method Call

$('document').ready(function(){
    $("#Submit").click(function ()
            {
        var AddDetais={
            "name":$("#first_name").val(),
            "points":parseInt($("#Marks").val())
        };

        $.ajax({
            type:'POST',
            url:'http://localhost:8080/StudentDetails/webapi/stduents/Add',
            contentType: 'application/json',
            data:AddDetais,
            dataType:'json',
            success:function(data)
            {
                $("#Student_name").append(data["name"]);
                $("#points").append(data["points"]);
            },
            error: function (error) { // error callback 
                var errorString=JSON.stringify(error);
                alert(error);
                $('#Error').append('Error: ' + errorString);
            }

                });

});
});

API POST  Method:



    @POST
    @Path("Add")
    @Produces(MediaType.APPLICATION_JSON)
    @Consumes(MediaType.APPLICATION_JSON)
    public Student setStudent(Student a)
    {
        System.out.println(" called setStudent");
        //repos.setData(a);
        return a;


Expected Result

Name: "Henry"
Marks :112
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...