이 글은 go 언어 튜토리얼 칼럼에서 Go-Spring을 사용하여 최소한의 Web API를 구축하는 방법을 소개하기 위해 작성되었습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!
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은 현재 가장 인기 있는 웹 프레임워크 중 하나입니다. 이것이 구현하는 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! 프로그램에 기본 웹 서버 구현으로 사용하도록 지시하는 것입니다. 이 줄을 다음 코드로 변경하면 프로그램은 여전히 정상적으로 실행될 수 있지만 이번에는 프로그램이 기본 웹 서버 구현으로 Echo를 사용합니다.
_ "github.com/go-spring/starter-echo"
Go-Spring에는 익명 패키지 가져오기 라인이 하나 더 있지만 표준 라이브러리보다 더 강력한 기능을 얻었습니다.
다음은 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()}
위의 두 가지 예를 비교하면 Go-Spring이 Go와 Java Spring의 통합을 실제로 구현하여 Java Spring의 강력한 구성 기능을 가지면서도 Go(구문)를 단순하게 유지한다는 것을 알 수 있습니다.
이 글의 소개를 통해 고스프링에 관심이 생기셨나요? 서둘러서 시도해 보세요!
위 내용은 최소한의 웹 API를 구축하여 Go-Spring의 강력함을 입증하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!