Dengan populariti perisian moden, pembangun selalunya perlu menggunakan antara muka pengaturcaraan aplikasi (API) untuk berinteraksi dengan sistem yang berbeza. Memandangkan API sering dicipta oleh organisasi atau perusahaan, apabila berkomunikasi antara sistem yang berbeza, pembangun perlu menyediakan penyesuai kod dan protokol yang berbeza untuk mengendalikan antara muka ini, yang sering mengakibatkan kod yang rumit dan penyelenggaraan yang sukar. Untuk memudahkan proses ini, pembangun boleh menggunakan golang untuk membangunkan pemaju API untuk menjadikan komunikasi API antara sistem berbeza lebih mudah dan lebih mudah digunakan.
Pemajuan API merujuk kepada pemajuan permintaan daripada satu sistem ke sistem yang lain. Ia sering digunakan untuk menyepadukan aplikasi dan sistem yang berbeza untuk membolehkan pemindahan data dan fungsi perkongsian. Pemajuan API boleh digunakan pada peringkat sistem yang berbeza, contohnya: daripada aplikasi JavaScript bahagian hadapan ke bahagian belakang anda mungkin perlu berkomunikasi antara berbilang API. Oleh itu, reka bentuk penghantar API adalah sangat penting.
Golang ialah bahasa pengaturcaraan pantas dengan overhed sumber sistem yang rendah, jadi ia sangat sesuai untuk membangunkan penghantar API yang cekap. Dalam artikel ini, kami akan memperkenalkan cara melaksanakan pemaju API mudah menggunakan golang.
Pertama, kita perlu menyediakan alatan dan persekitaran yang diperlukan untuk membina pemaju API. Kami memerlukan persekitaran pembangunan Go untuk menulis dan menjalankan kod. Gunakan pengurus pakej golang untuk mengurus kebergantungan yang diperlukan untuk projek anda. Untuk membina API, kami juga perlu menggunakan rangka kerja HTTP. Salah satu rangka kerja HTTP yang paling popular dalam golang ialah rangka kerja Gin, yang dipinjam daripada Flask.
Dalam langkah seterusnya, kami akan mencipta pemaju API mudah menggunakan langkah berikut:
package main import ( "fmt" "net/http" )
func handler(w http.ResponseWriter, r *http.Request) { fmt.Println("Incoming request") // TODO: Write code to forward the request }``` 3. 我们需要一个接收请求并将其转发到指定位置的函数。在本例中,我们将使用 net/http 包中的 ReverseProxy 函数来执行此操作。
func forwardRequest(w http.ResponseWriter, r *http.Request) {
// TODO: Tulis kod untuk memajukan permintaan
proksi := &httputil.ReverseProxy{Pengarah: func(req *http.Request) {
req.URL.Scheme = "http" req.URL.Host = "localhost:5000" req.URL.Path = "/api/v1" + req.URL.Path
}}
proxy.ServeHTTP(w, r)
}
在上面的代码中,我们使用 ReverseProxy 函数将请求转发到指定的主机和端口。在这个例子中,我们将请求转发到 Python Flask 应用程序的本地主机和端口。我们还指定了一些请求路径,以便更好地定位转发到哪个特定的 API。 4. 在 handler 函数中,我们将检查每个传入的请求,然后将其转发到指定位置。
func handler(w http.ResponseWriter , r *http.Request) {
fmt.Println("Permintaan masuk")
// Majukan permintaan
forwardRequest(w, r)
}
在上面的代码中,我们将从 forwardRequest 函数中调用转发请求的代码。现在,我们已经准备好将请求从 golang 转发到 Flask 应用程序。 5. 最后,我们需要为我们的 API 转发器创建一个 HTTP 服务器。在启动 HTTP 服务器之前,我们需要设置服务器的端口和处理器函数。
func main () {
http.HandleFunc("/", pengendali)
fmt.Println("Memulakan pelayan pada :8080...")
http.ListenAndServe(":8080", tiada)
}
在上面的代码中,我们设置了服务器的端口为 8080,并将所有请求传递给 handler 函数进行处理。 6. 最后,我们可以使用 go run 命令来启动我们的 API 转发器。
pergi jalankan main.go
通过此过程,我们已经实现了一个可用于转发请求的简单 API 转发器。这个API转发简单,但也非常灵活。通过使用 Golang 开发 API 转发器,开发人员可以更快速构建更强大的 API。
Atas ialah kandungan terperinci api forwarding golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!