Spring Boot @RestController не может автоматически преобразовать ответ в JSON - PullRequest
0 голосов
/ 17 июня 2019

У меня небольшая проблема с приложением Spring Boot.Насколько я понимаю, зависимость Джексона автоматически настраивается с помощью spring-boot-starter-web и сериализует / десериализует объекты в json для классов, помеченных как @ RestController.

Проблема заключается в том, что она не имеет такого поведениявместо этого, как и ожидалось, он возвращает ответ обратно в простом / текстовом формате.

Ниже приведен фрагмент кода, который я пытаюсь выполнить.

@GetMapping(value = "/user/",produces = "application/JSON")
public List<String> getUser(){

    List<String> newUsers = new ArrayList<String>();
    newUsers.add("User 1");
    newUsers.add("User 2");
    newUsers.add("User 3");
    return newUsers;
}

Ответ: enter image description here Может кто-нибудь сказать мне, что именно я здесь делаю неправильно?

Спасибо, J

1 Ответ

0 голосов
/ 17 июня 2019

Да, просто массив JSON также является допустимым JSON. Если вы хотите вывести JSON в виде объекта, например:

{
   "users":["User 1","User 2","User 3"]
}

Вы можете сделать:

@GetMapping(value = "/user/",produces = "application/JSON")
public Map<String,Object> getUser(){
    Map<String,Object> result = new HashMap<String,Object>();
    List<String> newUsers = new ArrayList<String>();
    newUsers.add("User 1");
    newUsers.add("User 2");
    newUsers.add("User 3");
    result.put("users" , newUsers);
    return result;
}
...