最小限の Web API を構築して Go-Spring の力を実証する

藏色散人
リリース: 2021-12-03 09:37:37
転載
2823 人が閲覧しました

この記事は、Go-Spring を使用して最小限の Web API を構築する方法を紹介するgo languageチュートリアル コラムによって提供されています。必要としている友人の役に立てば幸いです。

Gopher へ

次は、Go 標準ライブラリを使用して実装された Hello World! プログラムです。コードは本当に少ないです!
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 は現在最も人気のある Web フレームワークの 1 つで、実装されている Hello World! プログラムは次のとおりです。それもとてもシンプルです。

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()}
ログイン後にコピー

Go-Spring を使用して実装された Hello World! プログラムを見てみましょう。こちらも非常にシンプル。

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()}
ログイン後にコピー

ただし、Go-Spring を使用して実装された例には、匿名でインポートされたパッケージがあることがわかります。その機能は、Hello World! プログラムに、基盤となる Web サーバー実装としてgin を使用するように指示することです。この行を次のコードに変更しても、プログラムは通常どおり実行できますが、今回はプログラムは基礎となる Web サーバー実装として Echo を使用します。

_ "github.com/go-spring/starter-echo"
ログイン後にコピー

Go-Spring には匿名パッケージ インポートの行が 1 行増えていますが、標準ライブラリよりも強力な機能が追加されています。

Javaer へ

#Go-Spring は Go 標準ライブラリと同じプログラミング モデルを提供しますが、本質的には IoC (依存性注入) に基づいて実装されているため、標準ライブラリにはない自動設定機能があり、Java Spring Bootと比べてプログラミング効率も悪くありません。

以下は、Java Spring Boot を使用して実装された Hello World! プログラムですが、上の例とは異なり、Java Spring の依存関係注入機能を示すために、JAVA_HOME 環境変数の値も出力します。コードは以下のように表示されます。
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); }}
ログイン後にコピー

次は、Go-Spring の依存関係注入機能を使用して、GOPATH 環境変数と Hello World! を同時に出力するプログラムです。コードは以下のように表示されます。

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()}
ログイン後にコピー
上記の 2 つの例を比較すると、Go-Spring が Go と Java Spring の統合を真に実現し、Go (構文) をシンプルに保ちながら、Java Spring の強力な構成機能を備えていることがわかります。

この記事の紹介を通じて、Go-Spring に興味を持ちましたか?急いで試してみてください。

以上が最小限の Web API を構築して Go-Spring の力を実証するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
go
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!