Bagaimana untuk Melayan Halaman Web dan Laluan API pada Port yang Sama dengan Corak Pemegang Berbeza dalam Go?

Barbara Streisand
Lepaskan: 2024-11-20 14:21:17
asal
562 orang telah melayarinya

How to Serve Web Pages and API Routes on the Same Port with Different Handle Patterns in Go?

Menyajikan Halaman Web dan Laluan API pada Pelabuhan yang Sama dengan Corak Pemegang Berbeza

Dalam aplikasi web di mana kedua-dua halaman web dan laluan API memerlukan untuk disampaikan pada port yang sama, adalah mungkin untuk mencapai ini menggunakan pakej net/http yang disediakan oleh perpustakaan standard Go. Prinsip utama ialah keutamaan corak yang lebih panjang berbanding yang lebih pendek.

Pertimbangkan coretan kod berikut:

fs := http.FileServer(http.Dir("server/webapps/play_maths"))
http.Handle("/", fs) // Serves static web pages from the specified directory

http.Handle("/api", api.UserRoutes()) // Handles API routes using the UserRoutes function
Salin selepas log masuk

Dalam contoh ini, pengendali fail didaftarkan untuk laluan URL akar "/ ", yang bermaksud ia akan mengendalikan sebarang permintaan yang tidak sepadan dengan corak yang lebih panjang. Pengendali laluan API kemudiannya didaftarkan untuk laluan "/api". Memandangkan "/api" ialah corak yang lebih panjang daripada "/", sebarang permintaan yang bermula dengan "/api" akan diarahkan kepada pengendali laluan API, manakala semua permintaan lain akan pergi ke pengendali fail.

Nota bahawa adalah penting untuk memastikan tiada fail wujud dalam direktori "/api", kerana ia tidak boleh diakses kerana peraturan keutamaan. Dengan memanfaatkan ciri keutamaan corak, anda boleh menyediakan halaman web dan laluan API pada port yang sama menggunakan pengendali yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk Melayan Halaman Web dan Laluan API pada Port yang Sama dengan Corak Pemegang Berbeza dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan