Понимание типа объекта Java из строки Json - PullRequest
0 голосов
/ 25 октября 2018

Я создаю простой веб-сервис отдыха с использованием Spring Framework.У меня есть метод, который назначен конечной точке "/ check".Он принимает POST-запрос с телом.Body содержит форму json моего пользовательского объекта Java.Вот мой метод проверки:

@PostMapping("/check")
    public Status check(@RequestBody String body) throws JSONException, InterruptedException, ExecutionException {  

        Object data = gson.fromJson(body,Object.class);

        if(data instanceof LocationData)
        {
            return Status.VALID_OBJECT;
        }
        else 
        {
            return Status.INVALID_OBJECT;
        }       
    }

(Статус - это перечисление, которое имеет два состояния: VALID_OBJECT и INVALID_OBJECT)

У меня есть класс "LocationData".Итак, я ожидаю формат json объекта LocationData в качестве тела запроса.Я хотел бы понять, если запрос имеет правильный формат JSON.Метод проверки не работает правильно с правильным форматом JSON.Затем я проверяю тип «данных» в консоли, он возвращает LinkedTreeMap.

Как мне достичь этой цели?

1 Ответ

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

В вашем методе можно ожидать тело класса LocationData:

public Status check(@RequestBody LocationData body) throws JSONException, InterruptedException, ExecutionException {
    ...
}

LocationData необходимо реализовать Serializable, чтобы это работало.Проверка достоверности этого объекта выполняется автоматически.

Дополнительная информация здесь

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