1
谷歌雲終端HTTP 500錯誤的刪除谷歌雲終端HTTP 500錯誤的刪除
我產生了谷歌雲端點類遊戲我的標準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
如果我反而返回null或者我將方法更改爲VOID,則生成的HTTP響應是「500由於輸入結束而無法映射到Object」的內容我真的只想返回HTTP 200 - 理想情況下沒有內容。 – Kevin 2013-04-08 12:13:20
在此之後,您是否重新生成客戶端庫? – 2013-04-08 17:43:33
我沒有使用客戶端庫 - 我只是使用Fidder調用HTTP DELETE請求 - 我只是寫了服務器端API。 – Kevin 2013-04-08 20:31:50