Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Melayan Halaman Web dan Laluan API pada Port yang Sama dengan Corak Pemegang Berbeza?
Dalam senario aplikasi web, ia boleh menjadi mudah untuk menyampaikan kedua-dua halaman web statik dan API laluan pada alamat pelabuhan yang sama. Ini membolehkan seni bina yang diperkemas dan penggunaan sumber yang cekap. Untuk mencapai ini menggunakan corak pemegang yang berbeza, ikut langkah berikut:
1. Daftar Pengendali Fail
Daftar pelayan fail untuk menyediakan fail statik. Dalam contoh ini, ia digunakan untuk menyampaikan fail daripada direktori "server/webapps/play_maths" di laluan akar (/):
fs := http.FileServer(http.Dir("server/webapps/play_maths")) http.Handle("/", fs)
2. Daftar Pengendali API
Buat penghala untuk mengendalikan laluan API. Dalam kes ini, UserRoutes() mentakrifkan laluan untuk mencipta pengguna dan mendapatkan semula semua pengguna:
func UserRoutes() *mux.Router { router := mux.NewRouter().StrictSlash(true) router.HandleFunc("/user/create", api.CreateUser) router.HandleFunc("/user/get/all", api.GetAllUsers) return router }
3. Lampirkan Pengendali API pada Laluan
Daftar penghala API ke laluan akar tertentu, seperti "/api/". Ini memastikan bahawa semua permintaan bermula dengan "/api/" akan dikendalikan oleh laluan API:
http.Handle("/api/", UserRoutes())
Nota: Urutan pendaftaran laluan adalah penting. Corak yang lebih panjang diutamakan daripada yang lebih pendek. Oleh itu, adalah penting untuk mendaftarkan laluan API yang lebih khusus sebelum pengendali fail umum. Ini menghalang permintaan kepada laluan API daripada dipintas oleh pengendali fail.
Dengan mengikut langkah ini, anda boleh menyampaikan kedua-dua halaman web statik dan laluan API pada alamat port yang sama sambil mengekalkan corak pemegang yang berbeza. Ini memberikan fleksibiliti dan meningkatkan prestasi dengan mengurangkan keperluan untuk berbilang contoh pelayan.
Atas ialah kandungan terperinci Bagaimana untuk Melayan Halaman Web dan Laluan API pada Port yang Sama dengan Corak Pemegang Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!