최소한의 웹 API를 구축하여 Go-Spring의 강력함을 입증하세요.

藏色散人
풀어 주다: 2021-12-03 09:37:37
앞으로
2849명이 탐색했습니다.

이 글은 go 언어 튜토리얼 칼럼에서 Go-Spring을 사용하여 최소한의 Web API를 구축하는 방법을 소개하기 위해 작성되었습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

Go 언어는 단순함으로 유명합니다. 매우 분명한 예는 가장 작은 웹 API를 달성하기 위해 몇 가지 코드만 달성할 수 있다는 것입니다. Go-Spring은 Go의 단순성과 Spring의 자동 구성의 장점을 결합합니다. 이 기사에서는 최소한의 웹 API를 구현하는 몇 가지 예를 통해 Go-Spring의 단순성과 강력함을 보여줍니다.

To 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은 현재 가장 인기 있는 웹 프레임워크 중 하나입니다. 이것이 구현하는 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에는 익명 패키지 가져오기 라인이 하나 더 있지만 표준 라이브러리보다 더 강력한 기능을 얻었습니다.

To JavaerGo-Spring은 Go 표준 라이브러리와 동일한 프로그래밍 모델을 제공하지만 기본적으로 IoC(종속성 주입) 기반으로 구현되므로 표준 라이브러리에는 없는 자동 구성 기능을 갖추고 있으며, Java Spring Boot와 비교해 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
go
원천:learnku.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!