Artikel ini diperkenalkan oleh ruangan tutorial go language untuk memperkenalkan cara menggunakan Go-Spring untuk membina API Web yang minimum. Saya harap ia dapat membantu rakan yang memerlukan.
Kata Pengantar
Bahasa GO terkenal dengan kesederhanaannya Satu contoh yang sangat jelas ialah hanya beberapa kod boleh dicapai untuk mencapai API web terkecil. Go-Spring menggabungkan kelebihan kesederhanaan Go dan konfigurasi automatik Spring. Artikel ini menunjukkan kesederhanaan dan kuasa Go-Spring melalui beberapa contoh pelaksanaan API Web yang minimum.
Berikut ialah program Hello World yang dilaksanakan menggunakan perpustakaan standard Go. Terdapat sedikit kod!
package mainimport (
"net/http")func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hello World!"))
})
http.ListenAndServe(":8080", nil)}
Salin selepas log masuk
Gin ialah salah satu rangka kerja web yang paling popular pada masa ini. Ia juga sangat mudah.
package mainimport (
"github.com/gin-gonic/gin"
"github.com/gin-gonic/gin/ginS")func main() {
ginS.GET("/", func(c *gin.Context) {
c.String(200, "Hello World!")
})
ginS.Run()}
Salin selepas log masuk
Mari kita lihat program Hello World yang dilaksanakan menggunakan Go-Spring. Juga sangat mudah.
package mainimport (
"github.com/go-spring/spring-core/gs"
"github.com/go-spring/spring-core/web"
_ "github.com/go-spring/starter-gin")func main() {
gs.GetMapping("/", func(ctx web.Context) {
ctx.String("Hello World!")
})
gs.Run()}
Salin selepas log masuk
Walau bagaimanapun, anda dapat melihat bahawa terdapat pakej yang diimport tanpa nama dalam contoh yang dilaksanakan menggunakan Go-Spring Fungsinya adalah untuk memberitahu program Hello World untuk menggunakan Gin sebagai pelaksanaan Pelayan Web. Jika kita menukar baris ini kepada kod berikut, atur cara masih boleh dilaksanakan seperti biasa, tetapi kali ini program menggunakan Echo sebagai pelaksanaan Pelayan Web asas.
_ "github.com/go-spring/starter-echo"
Salin selepas log masuk
Walaupun Go-Spring mempunyai satu lagi baris import pakej tanpa nama, ia telah memperoleh keupayaan yang lebih berkuasa daripada perpustakaan standard.
Walaupun Go-Spring menyediakan model pengaturcaraan yang sama seperti perpustakaan standard Go, ia pada asasnya dilaksanakan berdasarkan IoC (suntikan kebergantungan), jadi Ia mempunyai keupayaan konfigurasi automatik yang tidak dimiliki oleh perpustakaan standard, dan dibandingkan dengan Java Spring Boot, kecekapan pengaturcaraan Go-Spring tidaklah buruk.
Berikut ialah program Hello World! yang dilaksanakan menggunakan Java Spring Boot, tetapi tidak seperti contoh di atas, untuk menunjukkan keupayaan suntikan kebergantungan Java Spring, ia juga mencetak nilai pembolehubah persekitaran JAVA_HOME. Kodnya adalah seperti berikut.
package com.example.demo11;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerclass MyController {
@Value("${JAVA_HOME}")
String JavaHome;
@GetMapping("/")
public String hello() {
return this.JavaHome + " - Hello World!";
}}@SpringBootApplicationpublic class Demo11Application {
public static void main(String[] args) {
SpringApplication.run(Demo11Application.class, args);
}}
Salin selepas log masuk
Berikut ialah program yang menggunakan keupayaan suntikan kebergantungan Go-Spring untuk mencetak pembolehubah persekitaran GOPATH dan Hello World pada masa yang sama. Kodnya adalah seperti berikut.
package mainimport (
"github.com/go-spring/spring-core/gs"
"github.com/go-spring/spring-core/web"
_ "github.com/go-spring/starter-gin")func init() {
gs.Object(new(MyController)).Init(func(c *MyController) {
gs.GetMapping("/", c.Hello)
})}type MyController struct {
GoPath string `value:"${GOPATH}"`}func (c *MyController) Hello(ctx web.Context) {
ctx.String(c.GoPath + " - Hello World!")}func main() {
gs.Run()}
Salin selepas log masuk
Membandingkan dua contoh di atas, kita dapat melihat bahawa Go-Spring benar-benar merealisasikan integrasi Go dan Java Spring, memastikan Go (sintaks) mudah sambil mempunyai keupayaan konfigurasi Java Spring yang berkuasa.
Melalui pengenalan artikel ini, adakah anda berminat dengan Go-Spring? Cepat dan cuba!
Atas ialah kandungan terperinci Tunjukkan kuasa Go-Spring dengan membina API Web yang minimum. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!