删除时谷歌云端点 HTTP 500 错误
我生成了一个 Google Cloud Endpoint 类,它让我使用标准 CRUD 方法,包括删除方法:
public Member removeMember(@Named("id") Long id) {
PersistenceManager mgr = getPersistenceManager();
Member member = null;
try {
member = mgr.getObjectById(Member.class, id);
mgr.deletePersistent(member);
} finally {
mgr.close();
}
return member;
}
但是,当我调用 DELETE 时,会返回 HTTP 500 错误:
HTTP ERROR 500
Problem accessing /_ah/spi/Members.removeMember. Reason:
com.google.appengine.repackaged.org.codehaus.jackson.map.JsonMappingException: Cannot read fields from a deleted object (through reference chain: com.mylodge.contracts.masonry.Member[\"degree\"])
如何避免此 HTTP 500 错误?
旁白:对我来说,无论如何返回已删除的对象似乎是不合逻辑的。HTTP 200 OK 不是更合适吗?
更新:我尝试返回 null,并尝试将方法设为 VOID。但是这两个都会产生一个 HTTP 响应
500 No content to map to Object due to end of input