簡體   English   中英

HTTP 405-200 OK響應上的方法不允許錯誤

[英]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應用程序,則我的應用程序中沒有客戶端代碼。

感謝您的任何想法!

這個問題很可能是在客戶端,所以在沒有看到該代碼的情況下,很難提供更詳細的信息-但是我希望這是您的客戶端嘗試執行POSTPUT憑據之類的操作的結果沿着那條線。

您唯一的辦法是啟用詳細的請求日志記錄,記錄生成405錯誤的請求,並將其報告給客戶端開發人員。

但是,值得注意的是,任何公開的API都會生成大量的405 s和404 s,因為“黑客”將嘗試針對任何已知的URL執行諸如WordPress hacks之類的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM