Как я могу получить данные из файла JSON с помощью AJAX - PullRequest
0 голосов
/ 22 октября 2018

я пытаюсь реализовать Ajax Long Polling в моем проекте, это структура моего проекта str в файле json, у меня есть этот код

{"user": "user","two": "two","three": "three"}

Когда я пытаюсь запустить свой проект,я получаю его в консоли идеи:

WARN 8032 --- [nio-8080-exec-3].w.s.m.s.DefaultHandlerExceptionResolver:Failed to bind request element: org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.lang.Long'; nested exception is java.lang.NumberFormatException: For input string: "status"

и это в консоли Chrome: log

Буду благодарен за любую помощь

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Согласно приведенной здесь трассировке ошибок, вы предоставляете нечисловое значение для поля status, которое не преобразуется в Long.За счет этого NumberFormatException поднято.Вы можете добавить @ExceptionHandler либо в своем контроллере, либо определить глобальный обработчик исключений, используя @ControllerAdvice для обработки исключения и отправки соответствующего ответного сообщения и кода состояния.

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

@ControllerAdvice
public class ApiExceptionHandler {
    @ExceptionHandler(Exception.class)
    public ResponseEntity<Object> handlerGenericError(Exception ex){
        ex.printStackTrace();
        return new ResponseEntity<>(ex.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
    }
    @ExceptionHandler(MethodArgumentTypeMismatchException.class)
    public ResponseEntity<Object>handlerBadRequest(MethodArgumentTypeMismatchExceptionex){
        return new ResponseEntity<>(ex.getMessage(), HttpStatus.BAD_REQUEST);
    }
}
0 голосов
/ 22 октября 2018

Ваш файл javascript не включает библиотеку jQuery.Вы можете включить это до загрузки библиотеки (зависит от jQuery).

<script src="https://code.jquery.com/jquery-3.3.1.min.js" type="text/javascript"></script>
...