Отдача JSON со SPRING MVC

410
30 января 2017, 17:05

В spring boot есть такая замечательная штука для отдачи JSON'ов с автоматическим вытягиванием его из класса:

@RestController
public class TaskController {
    private DBService dbService = new DBService();
    @RequestMapping(value = "/tasks")
    @CrossOrigin
    public @ResponseBody List<TaskDataSet> tasks() {
        try {
            List<TaskDataSet> tasks = dbService.getAllTasks();
            return tasks;
        } catch (DBException e) {
            System.out.println(e);
            e.printStackTrace();
        }
        return null;
    }
}

Если скормить этот код spring mvc, то получается следующая ошибка:

HTTP Status 500 - Request processing failed; nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList

Как мне сделать тоже самое в spring mvc правильно ?

Answer 1

Додайте зависимость в проект если у вас сборщик maven или соответствующее для gradle

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.5.0</version>
</dependency>
Answer 2

Судя по описанию ошибки spring не может найти конвертер для маршалинга в json.

Чтобы исправить ошибку нужно:

  • либо подключить его отдельно, как описал в своем ответе @BogdanK,

  • либо добавить spring зависимость:

    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
       <version>1.3.3.RELEASE</version>
    </dependency>

Контроллер должен выглядеть так:

@RestController
@RequestMapping("/")
public class MyController {
   @RequestMapping(value = "check", method = RequestMethod.GET)
   public List<Simple> check() {
      List<Simple> result = new ArrayList<>();
      result.add(new Simple());
      return result;
   }
}

А модель:

@JsonAutoDetect
public class Simple {
    private int value;
}
READ ALSO
FragmentManager FrameLayout

FragmentManager FrameLayout

В общем я хочу сделать некое подобие TabLayout with ViewPager но без использования первого и второгоВ роли TabLayout у меня будут выступать кнопки а в роли...

353
java - Критика кода

java - Критика кода

Привет! Читаю книгу и тут, вообщем, после каждой главы - заданияВообщем, вот какое

377
Garbage Collector в неуправляемом коде

Garbage Collector в неуправляемом коде

Если я создам массив байт, например, и передам указатель на него в неуправляемый код, что с этим массивом будет делать Garbage Collector?

300
Android Support Library

Android Support Library

Доброго времени сутокВозникла такая проблема, что в eclipse всё время вылезает ошибка:

360