Golang을 사용하여 RESTful API를 구축하고 ORM을 사용하는 방법은 무엇입니까?

WBOY
发布: 2024-06-03 22:35:59
原创
164명이 탐색했습니다.

Golang을 사용하고 ORM을 사용하여 RESTful API를 구축하려면 다음 단계가 필요합니다. Gin을 사용하여 API를 생성합니다. GORM을 ORM으로 설치하고 사용하세요. 데이터 모델을 정의하고 데이터베이스 마이그레이션을 적용합니다. CRUD API 경로를 만듭니다. 데이터베이스 작업에는 GORM을 사용하십시오. API 및 프런트엔드 애플리케이션을 배포합니다.

如何使用 Golang 构建 RESTful API 并使用 ORM?

Golang으로 RESTful API를 구축하고 ORM을 사용하는 방법

소개

RESTful API는 HTTP, URL, JSON과 같은 웹 표준을 사용하여 서버와 상호 작용하고 데이터를 가져오는 최신 애플리케이션 프로그래밍 인터페이스의 표준입니다. . 이 기사에서는 Golang을 사용하여 RESTful API를 구축하고 ORM(Object Relational Mapper)을 활용하여 데이터베이스와의 상호 작용을 단순화하는 방법을 알아봅니다.

전제 조건

  • Golang 1.16+ 설치
  • 데이터베이스 설치(예: MySQL 또는 PostgreSQL)

Gin으로 API 구축

Gin은 Go 애플리케이션 구축을 위한 오픈 소스 웹 프레임워크입니다. 먼저 다음 명령을 사용하여 Gin을 설치합니다.

go get github.com/gin-gonic/gin
登录后复制

그런 다음 main.go라는 새 파일을 만들고 다음 코드를 작성합니다. main.go 的新文件并编写以下代码:

package main

import (
    "github.com/gin-gonic/gin"
)

func main() {
    router := gin.Default()

    router.GET("/hello", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "Hello, World!",
        })
    })

    router.Run()
}
登录后复制

在终端中运行 go run main.go,然后在浏览器中导航到 localhost:8080/hello。您应该会看到一条包含 Hello, World! 的 JSON 响应。

使用 GORM 作为 ORM

GORM 是一个 Go 语言的开源 ORM,简化了与数据库的交互。首先,安装 GORM:

go get -u gorm.io/gorm
登录后复制

main.go 中,添加如下代码:

import (
    "gorm.io/gorm"
    "gorm.io/driver/mysql"
)

var DB *gorm.DB

func connectDB() {
    // 替换 "user", "password", "dbname" 为实际值
    dsn := "user:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
    db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
    if err != nil {
        // 处理连接错误
    }
    DB = db
}
登录后复制

定义数据模型

让我们定义一个名为 Todo

type Todo struct {
    gorm.Model
    Task string
    Done bool
}
登录后复制

Run go run main을 터미널에서 실행합니다. .go를 클릭하고 브라우저에서 localhost:8080/hello로 이동하세요. Hello, World!가 포함된 JSON 응답이 표시됩니다.

GORM을 ORM으로 사용

GORM은 데이터베이스와의 상호 작용을 단순화하는 Go 언어의 오픈 소스 ORM입니다. 먼저 GORM을 설치하세요.

go run main.go migrate
登录后复制

main.go에 다음 코드를 추가하세요.

go run main.go migrate --migration-dir=./migrations up
登录后复制

Define the data model

Todo라는 데이터 모델을 정의해 보겠습니다.

// 创建 Todo
router.POST("/todos", createTodo)

// 获取所有 Todo
router.GET("/todos", getTodos)

// 获取指定 Todo
router.GET("/todos/:id", getTodoByID)

// 更新 Todo
router.PUT("/todos/:id", updateTodo)

// 删除 Todo
router.DELETE("/todos/:id", deleteTodo)
登录后复制

테이블 생성 및 마이그레이션

API를 실행하기 전에 테이블을 생성하고 데이터베이스 스키마를 마이그레이션해야 합니다. 터미널에서 다음 명령을 실행하세요:

func getTodos(c *gin.Context) {
    var todos []Todo
    if err := DB.Find(&todos).Error; err != nil {
        // 处理错误
    }
    c.JSON(200, todos)
}
登录后复制
이렇게 하면 마이그레이션 스크립트가 인쇄됩니다. 다음 명령을 실행하여 마이그레이션을 적용합니다.
    rrreee
  • CRUD API이제 CRUD API 경로를 정의할 수 있습니다.
  • rrreee
  • 각 함수에서 데이터베이스 작업에 GORM을 사용합니다. 예: rrreee연습 사례
  • The 다음은 우리가 구축한 API를 사용한 실제 사례입니다.
프런트엔드:

React 또는 Angular와 같은 JavaScript 프레임워크를 사용하여 프런트엔드를 만듭니다.

🎜🎜백엔드: 🎜Golang RESTful API를 사용하여 데이터베이스에서 데이터를 가져오고 업데이트합니다. 🎜🎜🎜배포: 🎜AWS 또는 Heroku와 같은 클라우드 플랫폼에 API와 프런트엔드를 배포합니다. 🎜🎜🎜이러한 방식으로 데이터베이스의 작업을 관리할 수 있는 완전한 기능의 애플리케이션을 갖게 됩니다. 🎜

위 내용은 Golang을 사용하여 RESTful API를 구축하고 ORM을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

相关标签:
来源:php.cn
본 웹사이트의 성명
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
더>
最新下载
더>
网站特效
网站源码
网站素材
프론트엔드 템플릿
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!