首页 >后端开发 >Golang >构建和部署新 API(第 1 部分)

构建和部署新 API(第 1 部分)

DDD
DDD原创
2025-01-08 06:21:41262浏览

Building and Deploying a New API (Part 1)

这篇博文详细介绍了构建新 API 的初始步骤,重点是设置项目结构和生成初始代码。 目标是使用各种现代工具创建强大且可测试的 API。

技术堆栈包括:用于规范的 OpenAPI、用于服务器生成的 oapi-codegen、用于测试的 Testify、用于覆盖率报告的 Codecov、用于容器化的 Docker、用于数据库的 PostgreSQL、用于 ORM 的 GORM、用于数据库迁移的 Flyway、用于编排的 Kubernetes ,Terraform 用于基础设施即代码,Caddy 作为潜在的 Web 服务器。

API 规范:

该项目从一个 User 资源的简单 OpenAPI 规范开始。 User 架构包括 idemailnameid 是只读的,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.yamltypes.config.yaml)用于自定义生成的代码。 tools.go 文件利用 go generate 来自动化此过程。

处理程序实现和测试:

创建了一个基本的服务器结构,实现了生成的服务器接口。 实现了 PostUser 处理程序,最初返回 nil 值。 使用 Testify 同时编写单元测试来定义预期行为。 由于数据库尚未集成,测试响应目前是硬编码的。

未来的步骤将涉及创建 main.go 文件、Dockerfile、集成 Codecov 进行持续测试,以及将 API 连接到 PostgreSQL 数据库。 项目存储库可获取更多详细信息:https://www.php.cn/link/f72a23858b9865a40479a3ce3f16649e

以上是构建和部署新 API(第 1 部分)的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn