【发布时间】:2019-06-27 20:56:51
【问题描述】:
我正在尝试在基于 java 的 micronaut 项目中设置 mongo 响应式客户端,但出现以下错误:
“内部服务器错误:使用 AutomaticPojoCodec。\n解码为“成员”失败,原因是 以下异常:\n\n找不到公共构造函数 'Member'。\n\n自定义 Codec 或 PojoCodec 可能需要显式 配置和注册来处理这种类型。”
我的项目设置如下:
├── Application.java
├── config
│ └── MongoConfiguration.java
├── controller
│ └── MemberController.java
├── model
│ └── Member.java
└── service
└── MemberService.java
应用程序正在启动,但如果我调用 http 端点来列出所有成员,则会引发错误,如帖子中所列。
我的会员一开始看起来很简单:
import com.fasterxml.jackson.annotation.JsonProperty;
public class Member {
private final String firstname;
private final String lastname;
public Member( @JsonProperty("firstname") String firstname, @JsonProperty("lastname") String lastname) {
this.firstname = firstname;
this.lastname = lastname;
}
....
}
// And my service, has this method where I'm calling mongo
private MongoCollection<Member> getCollection() {
configuration.setCollectionName("members");
return mongoClient.getDatabase(configuration.getDatabaseName())
.getCollection(configuration.getCollectionName(), Member.class);
}
我知道设置中有什么问题或需要更多信息吗?
感谢帮助
【问题讨论】: