ホームページ > バックエンド開発 > Golang > 新しい API の構築とデプロイ (パート 1)

新しい API の構築とデプロイ (パート 1)

DDD
リリース: 2025-01-08 06:21:41
オリジナル
253 人が閲覧しました

Building and Deploying a New API (Part 1)

このブログ投稿では、プロジェクト構造の設定と初期コードの生成に焦点を当て、新しい API を構築する最初の手順について詳しく説明します。 目標は、さまざまな最新ツールを使用して、堅牢でテスト可能な API を作成することです。

テクノロジー スタックには、仕様のための OpenAPI、サーバー生成のための oapi-codegen、テストのための Testify、カバレッジ レポートのための Codecov、コンテナ化のための Docker、データベースのための PostgreSQL、ORM としての GORM、データベース移行のための Flyway、オーケストレーションのための Kubernetes が含まれます。 、コードとしてのインフラストラクチャとして Terraform、潜在的な Web サーバーとして Caddy を使用します。

API 仕様:

プロジェクトは、User リソースの単純な OpenAPI 仕様から始まります。 User スキーマには、idemail、および name が含まれます。 id は読み取り専用、email は書き込み専用です。

<code>components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: string
          example: 123
          readOnly: true
        email:
          type: string
          example: me@example.com
          writeOnly: true
        name: 
          type: string
          example: Alice</code>
ログイン後にコピー

このスキーマは、/users で POST エンドポイントを定義するために使用され、成功した場合は 201 (作成済み) ステータス コードを返し、400 (不正なリクエスト) エラーの場合は問題の詳細 JSON オブジェクトを返します。

コード生成:

oapi-codegen は、OpenAPI 仕様からサーバー コードを生成するために使用されます。 構成ファイル (server.config.yaml および types.config.yaml) は、生成されたコードをカスタマイズするために使用されます。 tools.go ファイルは go generate を利用してこのプロセスを自動化します。

ハンドラーの実装とテスト:

基本的なサーバー構造体が作成され、生成されたサーバー インターフェイスが実装されます。 PostUser ハンドラーが実装されており、最初は nil 値を返します。 Testify を使用した単体テストは、予想される動作を定義するために同時に作成されます。 データベースがまだ統合されていないため、テスト応答は今のところハードコーディングされています。

今後の手順には、main.go ファイル、Dockerfile の作成、継続的テストのための Codecov の統合、および API の PostgreSQL データベースへの接続が含まれます。 詳細については、プロジェクト リポジトリを参照してください:https://www.php.cn/link/f72a23858b9865a40479a3ce3f16649e

以上が新しい API の構築とデプロイ (パート 1)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート