Spring Boot - 返回一个空的对象数组

问题描述 投票:0回答:1

我正在尝试执行简单的 GET,当我运行并插入目录时,它返回一个空数组:

这是我的课:

public class Movie {
  String directory;
  String name;
  boolean isPlaying;
  int watchedCounter;

  public Movie(String directory, String name, boolean isPlaying, int watchedCounter) {
    this.directory = directory;
    this.name = name;
    this.isPlaying = isPlaying;
    this.watchedCounter = watchedCounter;
  }
}

我的控制器:

@RestController
@RequestMapping(path = "/api/vod")
public class MovieConroller {
  private final MovieService movieService;

  @Autowired
  public MovieConroller(MovieService movieService) {
    this.movieService = movieService;
  }

  @GetMapping
  public List < Movie > getMovies() {
    return movieService.getMovies();
  }
}

我的服务:

@Service
public class MovieService {
  public List < Movie > getMovies() {
    List < Movie > movies = new ArrayList < > ();
    movies.add(new Movie("home", "film.avi", true, 0));
    movies.add(new Movie("house", "fil2m.avi", false, 1));
    return movies;
  }
}

这是我的应用程序属性:

spring.data.mongodb.authentication-database=admin
spring.data.mongodb.username=ad
spring.data.mongodb.password=pas
spring.data.mongodb.database=mov
spring.data.mongodb.port=27017
spring.data.mongodb.host=localhost
spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false

网址:

http://localhost:8080/api/vod

结果:
[{}{}]

有人可以帮忙吗?
问候

java spring spring-boot
1个回答
5
投票

问题是缺少

getters
setters

通常它会抛出错误,但使用

spring.jackson.serialization.FAIL_ON_EMPTY_BEANS=false
它会返回
{}
,因为无法序列化对象。

如果添加

getters
setters
它将返回填充了对象的列表。

© www.soinside.com 2019 - 2024. All rights reserved.