В моем контроллере у меня есть следующий метод:
@RequestMapping(value = "/getAll", method = RequestMethod.GET)
public List<Topic> getAllTopics() {
List<Topic> allTopics = service.getAllTopics();
assert allTopics.size() > 0; // is not empty
System.out.println(allTopics.get(0)); // Topic{id=1, name='bla', description='blahhh'}
return allTopics;
}
Когда я перехожу к http://localhost:8080/getAll
, я получаю [{},{},{},{}]
в результате, но service.getAllTopics()
возвращает непустой список. Итак, список для отправкине пустой, но браузер получает недопустимый JSON.Однако при сериализации объектов проблем не возникает, поскольку следующий метод возвращает допустимый JSON.В чем проблема?
@GetMapping("/json")
public List<Locale> getLocales() {
return Arrays.asList(DateFormat.getAvailableLocales());
}
Я использую последнюю версию Spring Boot, т.е. 2.1.3.RELEASE.
Обновление Вот мой класс сущности - Тема
@Entity
@Table(name = "topic", schema="tetra")
public class Topic {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private String description;
public Topic() {
}
public Topic(String name, String description) {
this.name = name;
this.description = description;
}
@Override
public String toString() {
return "Topic{" +
"id=" + id +
", name='" + name + '\'' +
", description='" + description + '\'' +
'}';
}
}