处理不同 Web 的最佳方法是什么 API 类

What is the best way to handle different Web API classes

每次我创建新的解决方案时,这个问题都会弹出。

我想分离请求对象、数据库实体和响应对象。 如果您的 Web API 处理的实体很少,我同意没有必要将它们分开。但是如果我有以下需求怎么办:

  1. 请求 对象(api 有效载荷)有:

    • 名字
    • 姓氏
    • 出生日期
  2. 数据库 实体(table)有:

    • 编号
    • 名字
    • 姓氏
    • 出生日期
    • 创建日期(用于审核)
    • CreateBy(用于审核)
    • 更新日期(用于审核)
    • UpdateBy(用于审计)
  3. 响应 对象(api 正文)有:

    • 编号
    • 名字
    • 姓氏
    • 出生日期
    • 年龄(已计算,只读)

(问题) > 所以考虑到这个想法:

  1. 为每种类型的对象创建单独的 类 是否有意义?
  2. 我可以使用什么命名约定?
  3. 是否已经有处理这种不同类型对象的最佳实践?
  4. 是否可以只使用后缀 RequestEntityResponse对象类型?

非常感谢回复!

希望我能尽可能好地回答您的问题!

  1. 是的,为每个实体创建一个对象确实有意义。
  2. 您可以将其放在名为 "Model"
  3. 的文件夹中
  4. 你可以看看 MVC api 的:MVC API
  5. 不确定

1 - 为每种类型的对象创建单独的 类 是否有意义? 不。您可以使用一个模型和不同的映射器,这比处理关于同一主题的不同模型更有意义

2 - 我可以使用什么命名约定? 这取决于贵公司使用的名称约定。

3 - 是否已经有处理这种不同类型对象的最佳实践? 是的,您可以使用映射器模式来映射每个不同的 input/output: Repository and Data Mapper pattern

此外,这篇文章可以帮助您制定良好的架构标准: https://www.infoq.com/articles/advanced-architecture-aspnet-core/

4 - 只为每种类型的对象使用后缀 Request、Entity、Response 是否可以? 这又取决于名称的约定,但这是可能的。