Penyelesaian" />
Selamat pagi☕️, rakan pemaju saya???. Saya harap anda melakukan yang terbaik kerana saya melakukannya dengan baik. Hari ini, saya memutuskan untuk menyelamatkan sebahagian daripada anda yang mendapat Kaedah 405 Tidak Dibenarkan. Sama ada anda membuat API REST atau meminta URL, anda mendapat ralat 405. Artikel ini telah anda bincangkan.
Saya telah cuba meminta URL saya dan saya mendapat ralat yang disebutkan di atas
Berikut ialah URL yang SAYA minta
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; } }
Dalam penyiasatan saya tentang punca dan penyelesaian ralat, saya mendapati bahawa ralat 405 boleh berlaku apabila anda mencuba permintaan Dapatkan pada sesuatu yang hanya membenarkan permintaan POST atau VSV.
Kedua, anda mungkin telah mencuba http: pada kaedah yang memerlukan https
Saya mendapati bahawa punca ralat adalah isu jenis kandungan
Menukar ini @Produces({"text/plain","application/xml","application/json"})
untuk ini
Iklan @Produces("text/plain") ia berfungsi dengan sempurna.
Ini kerana pengepala/jenis kandungan yang dihantar ke API mesti sepadan dengan apa yang dijangkakan, jika tidak, ia akan mengembalikan HTTP 405.
Lawati pautan ini untuk mengetahui lebih lanjut tentang jenis ralat ini
Beberapa kawasan yang mungkin untuk menyemak sama ada anda menghadapi ralat yang sama
Isu CORS:
Jika bahagian hadapan dan hujung belakang anda berjalan pada port yang berbeza (cth., hujung hadapan pada 4200 dan hujung belakang pada 8080), pastikan CORS (Perkongsian Sumber Silang Asal) dikonfigurasikan dengan betul pada pelayan hujung belakang anda untuk membenarkan permintaan daripada bahagian hadapan anda3.
Menyahpepijat Respons Pelayan:
Laksanakan pengelogan pada bahagian pelayan untuk menangkap permintaan masuk dan kaedahnya. Ini boleh membantu anda menentukan sama ada permintaan itu sampai ke pelayan dan cara permintaan itu diproses.
Ujian dengan Alat:
Gunakan alatan seperti Postman atau cURL untuk menghantar permintaan POST secara manual ke titik akhir anda. Ini boleh membantu mengasingkan sama ada isu itu terletak dalam aplikasi Angular anda atau pada pelayan itu sendiri.
Kongsi pendapat anda dalam komen di bawah⬇️
Selamat Hari Selasa??
Atas ialah kandungan terperinci Status HTTP - Ralat Kaedah Tidak Dibenarkan untuk API Rehat -> Penyelesaian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!