Dieser Artikel wurde von der go-SpracheTutorial-Kolumne geschrieben, um vorzustellen, wie man mit Go-Spring eine minimale Web-API erstellt. Ich hoffe, dass er Freunden in Not hilfreich sein wird!
package mainimport ( "net/http")func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Hello World!")) }) http.ListenAndServe(":8080", nil)}
Gin ist derzeit eines der beliebtesten Web-Frameworks. Es ist auch sehr einfach.
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()}
Werfen wir einen Blick auf das mit Go-Spring implementierte Hello World! Auch ganz einfach.
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()}
Sie können jedoch feststellen, dass in dem mit Go-Spring implementierten Beispiel ein anonym importiertes Paket vorhanden ist. Seine Funktion besteht darin, das Hello World-Programm anzuweisen, Gin als zugrunde liegende Webserver-Implementierung zu verwenden. Wenn wir diese Zeile in den folgenden Code ändern, kann das Programm weiterhin normal ausgeführt werden, aber dieses Mal verwendet das Programm Echo als zugrunde liegende Webserver-Implementierung.
_ "github.com/go-spring/starter-echo"
Obwohl Go-Spring über eine weitere Zeile für den anonymen Paketimport verfügt, verfügt es über leistungsfähigere Funktionen als die Standardbibliothek.
Das Folgende ist ein Hello World!-Programm, das mit Java Spring Boot implementiert wurde. Im Gegensatz zum obigen Beispiel wird jedoch zur Demonstration der Abhängigkeitsinjektionsfunktionen von Java Spring auch der Wert der Umgebungsvariablen JAVA_HOME gedruckt. Der Code lautet wie folgt.
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); }}
Das Folgende ist ein Programm, das die Abhängigkeitsinjektionsfunktion von Go-Spring nutzt, um die Umgebungsvariable GOPATH und Hello World! gleichzeitig zu drucken. Der Code lautet wie folgt.
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()}
Wenn wir die beiden oben genannten Beispiele vergleichen, können wir sehen, dass Go-Spring die Integration von Go und Java Spring wirklich realisiert, Go (Syntax) einfach hält und gleichzeitig über die leistungsstarken Konfigurationsmöglichkeiten von Java Spring verfügt.
Interessieren Sie sich durch die Einleitung dieses Artikels für Go-Spring? Beeilen Sie sich und probieren Sie es aus!
Das obige ist der detaillierte Inhalt vonDemonstrieren Sie die Leistungsfähigkeit von Go-Spring, indem Sie eine minimale Web-API erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!