Maison > développement back-end > Golang > Démontrer la puissance de Go-Spring en créant une API Web minimale

Démontrer la puissance de Go-Spring en créant une API Web minimale

藏色散人
Libérer: 2021-12-03 09:37:37
avant
2950 Les gens l'ont consulté

Cet article est écrit par la colonne tutoriel go Language pour présenter comment utiliser Go-Spring pour créer une API Web minimale. J'espère qu'il sera utile aux amis dans le besoin !

Le langage Go est célèbre pour sa simplicité. Un exemple très évident est que seuls quelques codes peuvent être réalisés pour réaliser la plus petite API Web. Go-Spring combine les avantages de la simplicité de Go et de la configuration automatique de Spring. Cet article démontre la simplicité et la puissance de Go-Spring à travers plusieurs exemples d'implémentation d'API Web minimales.

To GopherCe qui suit est le programme Hello World! implémenté à l'aide de la bibliothèque standard Go. Il y a vraiment peu de code !

package mainimport (
  "net/http")func main() {
  http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte("Hello World!"))
  })
  http.ListenAndServe(":8080", nil)}
Copier après la connexion

Gin est l'un des frameworks Web les plus populaires à l'heure actuelle. Le programme Hello World qu'il implémente est le suivant. C'est aussi très simple.

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()}
Copier après la connexion

Jetons un coup d'œil au programme Hello World! implémenté à l'aide de Go-Spring. Aussi très simple.

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()}
Copier après la connexion

Cependant, vous pouvez remarquer qu'il existe un package importé de manière anonyme dans l'exemple implémenté à l'aide de Go-Spring. Sa fonction est d'indiquer au programme Hello World! Si nous modifions cette ligne par le code suivant, le programme peut toujours s'exécuter normalement, mais cette fois, le programme utilise Echo comme implémentation sous-jacente du serveur Web.

_ "github.com/go-spring/starter-echo"
Copier après la connexion

Bien que Go-Spring dispose d'une ligne supplémentaire d'importation de packages anonymes, il a acquis des fonctionnalités plus puissantes que la bibliothèque standard.

Pour JavaerBien que Go-Spring fournisse le même modèle de programmation que la bibliothèque standard Go, elle est essentiellement implémentée sur la base de l'IoC (injection de dépendances), elle dispose donc de capacités de configuration automatique que la bibliothèque standard n'a pas, et Par rapport à Java Spring Boot, l'efficacité de la programmation de Go-Spring n'est pas mauvaise non plus.

Ce qui suit est un programme Hello World! implémenté à l'aide de Java Spring Boot, mais contrairement à l'exemple ci-dessus, afin de démontrer les capacités d'injection de dépendances de Java Spring, il imprime également la valeur de la variable d'environnement JAVA_HOME. Le code est le suivant.

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);
  }}
Copier après la connexion

Ce qui suit est un programme qui utilise la capacité d'injection de dépendances de Go-Spring pour imprimer la variable d'environnement GOPATH et Hello World en même temps. Le code est le suivant.

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()}
Copier après la connexion

En comparant les deux exemples ci-dessus, nous pouvons voir que Go-Spring réalise véritablement l'intégration de Go et Java Spring, en gardant Go (syntaxe) simple tout en ayant les puissantes capacités de configuration de Java Spring.

À travers l’introduction de cet article, êtes-vous intéressé par Go-Spring ? Dépêchez-vous et essayez-le !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
go
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal