解決方案" />
早安☕️,我的開發者們? ? 。我希望你做得很好,因為我做得很好。今天,我決定來拯救一些遇到 405 方法不允許 的人。無論您是建立 REST API 還是請求 URL,您都會收到 405 錯誤。這篇文章已經涵蓋您了。
我一直在嘗試要求我的網址,但收到上述錯誤
這是我請求的網址
http://localhost:8080/users/services/start/import
@Path("/start") public class StartService { @GET @Path("/import") @Produces({"text/plain","application/xml","application/json"}) public String getVersion() { String ver=""; try{ Runtime rt = Runtime.getRuntime(); Process pr = rt.exec("C:\server\dgr -v" ); BufferedReader stdInput = new BufferedReader(new InputStreamReader (pr.getInputStream())); BufferedReader input = new BufferedReader(stdInput); // String ver =""; StringBuffer verOutput = new StringBuffer(); while((ver = input.readLine()) != null){ verOutput.append(ver + "\n"); System.out.println(ver); } }catch (Throwable t) { t.printStackTrace(); } finally { } return ver; } }
在調查錯誤原因和解決方案時,我發現當您對僅允許 POST 請求或 VSV 的內容嘗試 Get 請求時,可能會發生 405 錯誤。
其次,您可能已經在需要 https
我發現錯誤的原因是內容類型問題
改變了這個 @Produces({"text/plain","application/xml","application/json"})
對此
@Produces("text/plain") 廣告效果非常好。
這是因為傳送到 API 的 headers/content-type 必須與其預期匹配,否則將傳回 HTTP 405。
訪問此連結以了解有關此類錯誤的更多資訊
如果您遇到相同的錯誤,請檢查一些可能的區域
CORS 問題:
如果您的前端和後端運行在不同的連接埠上(例如,前端在4200 上,後端在8080 上),請確保在後端伺服器上正確配置CORS(跨來源資源共用)以允許來自前端來源的請求3。
偵錯伺服器回應:
在伺服器端實作日誌記錄以擷取傳入請求及其方法。這可以幫助您確定請求是否到達伺服器以及處理方式。
使用工具檢定:
使用 Postman 或 cURL 等工具手動向您的終端節點發送 POST 請求。這可以幫助確定問題是出在 Angular 應用程式中還是伺服器本身。
在下面的評論中分享你的想法⬇️
週二快樂?
以上是HTTP 狀態 - Rest API 的方法不允許錯誤 -> 解決方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!