Go 言語は、注文システムでの注文クエリ関数の実装方法を開発します。これには、特定のコード例が必要です。
食品注文システムでは、注文クエリは非常に重要な機能です。 1つ。ユーザーは、過去の注文だけでなく、注文クエリ機能を通じて注文ステータスと詳細を表示できます。この記事では、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 中国語 Web サイトの他の関連記事を参照してください。