Spring boot odbieranie JSON

0

Cześć,

Mam pewien problem mam napisany cały back end dla aplikacji, podczas testów z Postman wszystko działa poprawnie, wszelkie dane są zapisywane w bazie dancyh, problem pojawia się przy próbie wysłania dancyh przes JS, java daje mi taki komunnikat:

WARN 19500 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unrecognized token 'id': was expecting ('true', 'false' or 'null'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'id': was expecting ('true', 'false' or 'null')
at [Source: (PushbackInputStream); line: 1, column: 4]]

Nie mam pojęcia jak to rozwiązać, kompilator mi to wyrzuca na samym starcie.
wrzucam kod JS, kod javy nawet nie zaczyna działać. Pomoże ktoś ?

 $.ajax({
        url: "http://localhost:8080/candidate/new",
        method: "post",
        contentType: "application/json",
        dataType: "json",
        data: {
            "id" : 1,
            "name": "RYSZARD",
            "surname": "Kowalski",
            "age": 26,
            "candidateEducation": "low",
            "salaryExpectations": 50000.25,
            "shortDescription": "sdafds",
            "phoneNumber": "234554354",
            "email": "[email protected]",
            "city": "hono",
            "experience": 4,
            "user": {
                "id": 1
            }
        }
    })
        .fail($.alert('fail'));
0

coś tutaj JS pokazuje swoje prawdziwe oblicze xd a JSON.stringify() używasz?

0

Na moje to coś ci się pozajączkowało z typami danych - Jackson wyraźnie uważa, że któreś z id (to w data albo w user) powinno być booleanem. Cudów nie ma - jak wysyłasz z Postmana i działa, a później wysyłasz z JS i nie działa to te requesty nie są identyczne. Warto sobie w takich przypadkach uruchomić Chrome Devtools i sprawdzić co dokładnie tam jest przekazywane.

1 użytkowników online, w tym zalogowanych: 0, gości: 1