问题描述
我正在通过Webflux使用反应式编程来编写我的REST api。我在下面有这样的响应对象:
class Account
{
private Customer customer;
private List<Accounts> accountList;
}
我正在使用getter和setter设置customer和accountList。我可以看到两者都正确填充,但是我的最终答复总是返回正确的“客户”,尽管我可以在“帐户列表”中看到数据,但它是一个空帐户列表。
return request
.bodyToMono(PersonRequest.class)
.doOnNext { logger.info("Request : $it") }
.flatMap(validateRequest(it))
.flatMap(personService::getPerson)
.doOnNext (logger.info("Final Response : $it"))
.flatMap(ServerResponse.ok().contentType(MediaType.APPLICATION_JSON)::bodyValue);
我在这里做错了什么?我可以看到“最终响应”日志正确打印,但是此后,我在JSON响应中看到一个空列表。
解决方法
这是由于我的kotlin数据类中存在“ private var”而引起的。删除private对我有用。