[英]HTTP 405 - Method Not Allowed error on a 200 OK response
我有一個小的REST-ful Java后端,一些用C編寫的客戶端連接到該后端。 他們會調用某種POST方法來發送一些信息,如果一切順利,我會將其保存到數據庫中並以200 OK進行響應。 基本結構如下圖所示。
@POST
@Path("/mypath")
@Produces("text/html")
public Response processMessage(final String message, @Context final HttpServletRequest request) throws IOException {
.....
return Response.ok().build();
}
我的問題是,在此響應上,我在日志中收到以下錯誤:
javax.ws.rs.NotAllowedException: No resource method found for , return 405 with Allow header
我理解此錯誤在例如假設您嘗試在應該是POST的端點上執行GET的情況下的含義。 我不明白為什么我的響應消失后為什么會得到這個消息,它清楚地表明請求類型為空....太奇怪了。
其他一些信息-客戶端代碼上的HTTP代碼有問題,但存在錯誤……但是,導致這種響應的客戶端上有什么問題呢? (我無權訪問客戶端代碼)。
另外,如果您想知道是否還有其他代碼可以調用我的Web應用程序,則我的應用程序中沒有客戶端代碼。
感謝您的任何想法!
這個問題很可能是在客戶端,所以在沒有看到該代碼的情況下,很難提供更詳細的信息-但是我希望這是您的客戶端嘗試執行POST
或PUT
憑據之類的操作的結果沿着那條線。
您唯一的辦法是啟用詳細的請求日志記錄,記錄生成405
錯誤的請求,並將其報告給客戶端開發人員。
但是,值得注意的是,任何公開的API都會生成大量的405
s和404
s,因為“黑客”將嘗試針對任何已知的URL執行諸如WordPress hacks之類的操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.