我正在开发一个Dropwizard应用程序,在包含mongojack后,我在 GET 请求中遇到了一个奇怪的错误。
我有一个简单的 GET 查询,其中 ID 作为路径参数。在我包含 mongojack 并向我的实体添加两个注释之前,它起作用了:
public class Bill {
@javax.persistence.Id @org.mongojack.ObjectId
private String id;
@javax.persistence.Id @org.mongojack.ObjectId
public String getId() { return id; }
//...
}
最让我困惑的是,这个请求居然被接受了。当我调试时,我可以进入该方法。该实体从 MongoDB 加载到内存中,看起来很好。所以我怀疑这实际上可能是序列化问题,但目前我被卡住了。有任何想法吗?
更新
似乎是一个已知的 mongojack 问题:https ://github.com/devbliss/mongojack/issues/26 。后来我想为我的 GET 使用没有 ObjectIds 的自定义 DTO,所以这应该不再相关。我仍然不明白的是为什么 Dropwizard 将其映射到 400 响应...