목차
라우팅 및 기본 요청 처리
미들웨어 사용 방법
데이터 바인딩 및 검증
정적 파일 및 템플릿 렌더링
백엔드 개발 Golang 왁스 정렬 플라머 말론

왁스 정렬 플라머 말론

Jul 04, 2025 am 01:03 AM

이 기사는 GO 언어의 GIN 프레임 워크를 사용한 백엔드 개발에 대한 기본 지식을 소개합니다. 1. 라우팅 및 기본 요청 처리 : Get, Post 및 기타 방법을 통해 URL 및 처리 기능을 바인딩하고 매개 변수와의 라우팅을 지원합니다. 2. 미들웨어 사용 방법 : 로깅 및 기타 기능을위한 글로벌 미들웨어 및 라우팅 그룹 미들웨어를 지원합니다. 3. 데이터 바인딩 및 검증 : 구조 바인딩 함수를 제공하고 필드 검증 메커니즘을 지원합니다. 4. 정적 파일 및 템플릿 렌더링 : 정적 리소스 서비스 및 HTML 페이지 렌더링을 지원합니다.

Golang Gin 프레임 워크 튜토리얼

Gin은 Go Language를 사용하여 백엔드 개발을위한 매우 인기있는 웹 프레임 워크입니다. 가볍고 성능이 우수하며 API에서 간단하고 사용하기 쉽습니다. 이는 특히 HTTP 서비스를 신속하게 구축하는 데 적합합니다. 진에 참여하기 시작한 경우이 자습서를 사용하면 기본부터 시작하여 간단한 웹 응용 프로그램을 단계별로 작성하게됩니다.

Golang Gin 프레임 워크 튜토리얼

라우팅 및 기본 요청 처리

진의 주요 특징은 라우팅 정의가 매우 직관적이라는 것입니다. GET , POST 등을 통해 URL 및 처리 기능을 빠르게 바인딩 할 수 있습니다.

Golang Gin 프레임 워크 튜토리얼
 패키지 메인

"github.com/gin-gonic/gin"가져 오기

func main () {
    r : = gin.default ()

    r.get ( "/hello", func (c *gin.context) {
        C.json (200, gin.h {
            "메시지": "안녕하세요, 진!",
        })
    })

    R.Run ( ": 8080")
}

위의 예는 포트 8080에서 청취하는 서비스를 시작하고 /hello 에 액세스하면 JSON 형식의 응답을 반환합니다.
경로에 매개 변수를 추가 할 수도 있습니다.

 r.get ( "/user/: name", func (c *gin.context) {
    이름 : = c.param ( "이름")
    C.string (200, "hello %s", 이름)
})

이러한 방식으로 /user/tom 에 액세스하면 Hello tom 출력합니다.

Golang Gin 프레임 워크 튜토리얼

미들웨어 사용 방법

GIN은 유지 관리 가능한 웹 서비스를 구축하는 열쇠 인 미들웨어 메커니즘을 지원합니다. 모든 요청 또는 일부 라우팅 그룹에 미들웨어를 추가 할 수 있습니다.

예를 들어, 요청 시간을 기록하는 간단한 미들웨어는 다음과 같이 작성할 수 있습니다.

 func logger () gin.handlerfunc {
    return func (c *gin.context) {
        t : = time.now ()
        c.next ()
        대기 시간 : = Time.since (t)
        log.printf ( "요청은 %v", 대기 시간)
    }
}

그런 다음 주요 기능에 등록하십시오.

 R.use (logger ())

인터페이스의 특정 부분에 대해이 로깅 기능 만 활성화하려면 라우팅 그룹을 사용하여 관리 할 수 ​​있습니다.

 API : = R.Group ( "/API")
api.use (logger ())
{
    api.get ( "/data", func (c *gin.context) {
        c.json (200, gin.h { "data": "일부 데이터"}))
    })
}

데이터 바인딩 및 검증

여러 번 우리는 JSON 또는 양식 컨텐츠와 같은 클라이언트가 전송 한 구조화 된 데이터를 받아야합니다. GIN은 편리한 구조 바인딩 기능을 제공하고 필드 검증을 지원합니다.

예를 들어, 사용자 등록 정보를 받고 싶다고 가정합니다.

 유형 사용자 struct {
    이름 문자열`json : "name"바인딩 : "필수"`
    이메일 문자열`json : "이메일"바인딩 : "필수, 이메일"`
    비밀번호 문자열`json : "비밀번호"바인딩 : "필수, 최소 = 6"`
}

그런 다음 인터페이스에서 사용하십시오.

 func Register (c *gin.context) {
    VAR 사용자 사용자
    err : = c. DistBindjson (& User); err! = nil {
        c.json (400, gin.h { "error": err.error ()})
        반품
    }
    // 여기에서 데이터베이스 작업 및 기타 논리 C.JSON (200, gin.h { "Message": "Register Success"})을 추가 할 수 있습니다.
}

들어오는 데이터가 요구 사항을 충족하지 않으면 오류 메시지가 자동으로 반환됩니다.


정적 파일 및 템플릿 렌더링

API 인터페이스 외에도 Gin은 정적 파일 서비스 및 HTML 페이지 렌더링을 지원합니다. 이것은 전면 및 후면이 완전히 분리되지 않은 소규모 프로젝트에 유용합니다.

정적 리소스 디렉토리를 설정하는 것은 간단합니다.

 r.static ( "/static", "./static")

이러한 방식으로 /static/style.css 에 액세스하면 로컬 ./static/style.css 파일을로드 할 수 있습니다.

페이지 렌더링은 먼저 템플릿을로드해야합니다.

 R.loadhtmlglob ( "템플릿/*. html")

r.get ( "/index", func (c *gin.context) {
    c.html (200, "index.html", gin.h {
        "제목": "홈",
    })
})

템플릿 파일이 templates/ 디렉토리에 배치되어 있는지 확인하십시오.


기본적으로 그게 다야. Gin의 문서는 매우 상세하고 커뮤니티는 활동적이며 일반적으로 문제가 발생할 때 해결책을 찾을 수 있습니다. 처음 시작하면 더 많은 공식적인 사례를 살펴보고 연습하는 동안 배울 수 있으며 빠르게 마스터 할 수 있습니다.

위 내용은 왁스 정렬 플라머 말론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Golang 서비스를 기존 Python 인프라와 통합하기위한 전략 Golang 서비스를 기존 Python 인프라와 통합하기위한 전략 Jul 02, 2025 pm 04:39 PM

tointegrategolangservices와 함께 intectapisorgrpcforinter-servicecommunication, userestapis (viaframworks likeginingoandflaskinpython) orgrppc (viframsks with protoco)를 허용합니다

웹 API의 Golang과 Python의 성능 차이 이해 웹 API의 Golang과 Python의 성능 차이 이해 Jul 03, 2025 am 02:40 AM

golangofferssuperiorperperperperferforperformance, nativeconcurrencyviagoroutines 및 lefficientresourceusage, makingitidealforhigh-traffic, 2.python, whileslowerduetointerpretationandghilegil, arrethecoSystem, andisbettersuitedfori/o-ko

Golang Frontend 또는 백엔드입니다 Golang Frontend 또는 백엔드입니다 Jul 08, 2025 am 01:44 AM

Golang은 주로 백엔드 개발에 사용되지만 프론트 엔드 필드에서 간접적 인 역할을 할 수도 있습니다. 설계 목표는 고성능, 동시 처리 및 시스템 수준 프로그래밍에 중점을두고 API 서버, 마이크로 서비스, 분산 시스템, 데이터베이스 운영 및 CLI 도구와 같은 백엔드 응용 프로그램을 구축하는 데 적합합니다. Golang은 웹 프론트 엔드의 주류 언어는 아니지만 Gopherjs를 통해 JavaScript로 컴파일하거나 Tinygo를 통해 WebAssembly에서 실행하거나 프론트 엔드 개발에 참여하기 위해 템플릿 엔진으로 HTML 페이지를 생성 할 수 있습니다. 그러나 현대적인 프론트 엔드 개발은 여전히 ​​JavaScript/TypeScript 및 생태계에 의존해야합니다. 따라서 Golang은 고성능 백엔드를 사용하여 기술 스택 선택에 더 적합합니다.

내 시스템에서 Golang을 완전히 제거하는 방법은 무엇입니까? 내 시스템에서 Golang을 완전히 제거하는 방법은 무엇입니까? Jun 30, 2025 am 01:58 AM

toCompletelyUnnstallgolang, FirsterminehowitwasInstalled (Packagemanager, Binary, Source 등), thenRemoveGobinariesandDirectories, CleanupEnvironmentVariable 및 및 DeleterelatedToolsOndCaches.BeginCeckingStallationMethod

사용자 정의 필드 이름으로 golang struct를 JSON에 마샬링하는 방법은 무엇입니까? 사용자 정의 필드 이름으로 golang struct를 JSON에 마샬링하는 방법은 무엇입니까? Jun 30, 2025 am 01:59 AM

GO에서 JSON으로 변환 할 때 구조 필드가 사용자 정의 필드 이름을 사용하려면 구조 필드의 JSON 태그를 통해 구현할 수 있습니다. 1. JSON : "Custom_Name"태그를 사용하여 JSON의 필드의 키 이름을 지정하십시오. 예를 들어, namestringjson : "username" "은 이름 필드 출력을"사용자 이름 "으로 만듭니다.

GO를 설치하는 방법 GO를 설치하는 방법 Jul 09, 2025 am 02:37 AM

GO를 설치하는 키는 올바른 버전을 선택하고 환경 변수를 구성하며 설치를 확인하는 것입니다. 1. 해당 시스템의 설치 패키지를 다운로드하려면 공식 웹 사이트로 이동하십시오. Windows는 .msi 파일을 사용하고 MacOS는 .pkg 파일을 사용하고 Linux는 .tar.gz 파일을 사용하여 /usr /local 디렉토리로 압축을 풀습니다. 2. Linux/MacOS에서 환경 변수, 편집 ~/.bashrc 또는 ~/.zshrc를 구성하여 경로와 Gopath를 추가하고 Windows Set 경로를 시스템 속성으로 이동합니다. 3. 정부 명령을 사용하여 설치를 확인하고 테스트 프로그램 Hello.Go를 실행하여 편집 및 실행이 정상인지 확인하십시오. 프로세스 전체에서 경로 설정 및 루프

설치 후 'go : 명령을 찾지 못함'하는 방법은 무엇입니까? 설치 후 'go : 명령을 찾지 못함'하는 방법은 무엇입니까? Jun 30, 2025 am 01:54 AM

"GO : CommandNotFound"는 일반적으로 환경 변수의 잘못된 구성으로 인해 발생합니다. 1. GO가 올바르게 설치되었는지 확인하고 경로를 확인하기 위해 Whetho를 사용하십시오. 2. 수동으로 GO의 빈 디렉토리 (예 :/usr/local/go/bin)를 경로 환경 변수에 추가합니다. 3. 해당 쉘의 구성 파일 (예 : .bashrc 또는 .zshrc)을 수정하고 소스를 실행하여 구성을 발효시킵니다. 4. 후속 모듈 문제를 피하기 위해 선택적으로 Goroot 및 Gopath를 설정합니다. 위의 단계를 완료 한 후 정부를 실행하고 수리 여부를 확인하십시오.

일반적인 Golang vs Python Web Services에 대한 자원 소비 (CPU/메모리) 벤치 마크 일반적인 Golang vs Python Web Services에 대한 자원 소비 (CPU/메모리) 벤치 마크 Jul 03, 2025 am 02:38 AM

Golang은 일반적으로 웹 서비스를 구축 할 때 Python보다 CPU와 메모리를 덜 소비합니다. 1. Golang의 Goroutine 모델은 스케줄링이 효율적이며 동시 요청 처리 기능이 강하며 CPU 사용량이 낮습니다. 2. GO는 기본 코드로 컴파일되며 런타임 중에 가상 머신에 의존하지 않으며 메모리 사용량이 작습니다. 3. Python은 GIL 및 해석 실행 메커니즘으로 인한 동시 시나리오에서 더 큰 CPU 및 메모리 오버 헤드를 갖습니다. 4. Python은 개발 효율성이 높고 생태계가 풍부하지만 동시성 요구 사항이 낮은 시나리오에 적합한 높은 자원을 소비합니다.

See all articles