주문 시스템에서 주문 쿼리 기능을 구현하기 위한 Go 언어 개발 방법에는 구체적인 코드 예제가 필요합니다.
음식 주문 시스템에서 주문 쿼리는 매우 중요한 기능 중 하나입니다. 사용자는 주문 조회 기능을 통해 주문 내역은 물론 주문 상태 및 세부 정보를 확인할 수 있습니다. 이번 글에서는 Go 언어를 활용하여 간단한 주문 조회 기능을 개발하는 방법과 코드의 상세한 구현 과정을 소개하겠습니다.
먼저 주문을 저장하기 위한 데이터베이스 모델을 생성해야 합니다. GORM 라이브러리를 사용하여 모델을 생성하고 관리할 수 있습니다. 다음은 간단한 주문 모델입니다.
type Order struct { ID uint `gorm:"primary_key"` UserID uint `gorm:"not null"` Amount uint `gorm:"not null"` Status string `gorm:"not null"` CreatedAt time.Time UpdatedAt time.Time }
위 코드는 다음 필드를 포함하는 주문 모델을 정의합니다.
다음으로 주문 모델을 작동하기 위해 데이터베이스 연결을 생성해야 합니다. MySQL 데이터베이스를 사용하도록 선택할 수 있지만 해당 MySQL 드라이버를 설치해야 합니다. 다음은 데이터베이스 연결의 예입니다.
import ( "fmt" "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) func ConnectDB() (*gorm.DB, error) { db, err := gorm.Open("mysql", "root:@/orders_db?charset=utf8&parseTime=True&loc=Local") if err != nil { return nil, err } fmt.Println("Database connection established") return db, nil }
위 코드는 "orders_db"라는 MySQL 데이터베이스에 연결하고 데이터베이스에 대한 포인터를 반환하거나 오류가 발생하면 오류를 반환합니다.
이제 사용자 주문을 조회하는 API를 생성할 수 있습니다. 다음은 간단한 HTTP GET 요청 핸들러 예입니다.
import ( "github.com/gin-gonic/gin" "net/http" ) func GetOrders(c *gin.Context) { user_id := c.Query("user_id") db, err := ConnectDB() if err != nil { c.JSON(http.StatusInternalServerError, err.Error()) return } defer db.Close() var orders []Order db.Where("user_id=?", user_id).Find(&orders) c.JSON(http.StatusOK, orders) }
위 코드는 특정 사용자 ID에 대한 주문을 쿼리하고 결과를 JSON 응답으로 반환합니다.
마지막으로 주문 쿼리 기능에 대한 몇 가지 테스트 사례를 작성해야 합니다. 다음은 간단한 테스트 사례입니다.
import ( "encoding/json" "github.com/stretchr/testify/assert" "net/http" "net/http/httptest" "testing" ) func TestGetOrders(t *testing.T) { router := gin.Default() router.GET("/orders", GetOrders) w := httptest.NewRecorder() req, _ := http.NewRequest("GET", "/orders?user_id=1", nil) router.ServeHTTP(w, req) assert.Equal(t, http.StatusOK, w.Code) var orders []Order json.Unmarshal(w.Body.Bytes(), &orders) assert.Equal(t, 1, len(orders)) }
위 코드는 testify 및 httptest 라이브러리를 사용하여 API가 예상대로 반환되는지 테스트합니다.
요약
이 글에서는 Go 언어를 사용하여 간단한 주문 쿼리 기능을 개발하는 방법을 소개하고 자세한 코드 예제를 제공했습니다. 다음 단계에 따라 자신만의 주문 쿼리 기능을 개발하고 필요에 따라 변경하고 사용자 정의할 수 있습니다.
위 내용은 Go언어로 개발된 주문시스템에서 주문조회 기능 구현방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!