同一类不同的数据注释

发布于 2025-02-06 05:42:42 字数 691 浏览 1 评论 0原文

假设我不使用单个类来创建和更新REST API中的对象 - 如果没有代码重复,我该怎么做?

创建一个对象(帖子) - 所有字段均应为[必需]

更新对象(补丁) - 我想使用同一类,但不需要字段,因为可以部分完成。

我可以将下面的类用于发布,但不能进行补丁 - 因为只能更新名称(按请求提供) - 没关系。

public class Person
{
  [Required]
  public string Name { get; set; }

  [Required]
  public string LastName { get; set; }
}

我看到的唯一解决方案(导致代码重复)是:

public class CreatePerson
{
  [Required]
  public string Name { get; set; }

  [Required]
  public string LastName { get; set; }
}
public class UpdatePerson
{
  public string Name { get; set; }

  public string LastName { get; set; }
}

Assuming I wan't to use single class to create and update an object in REST API - how I can do this without code duplication?

Create an object (POST) - all fields should be [Required].

Update an object (PATCH) - I want to use same class but fields should not be required as it can be done partially.

I can use below class for POST but can't for PATCH - as only Name may be updated (provided along the request) - which is OK.

public class Person
{
  [Required]
  public string Name { get; set; }

  [Required]
  public string LastName { get; set; }
}

The only solution I see (that causes code duplication) is:

public class CreatePerson
{
  [Required]
  public string Name { get; set; }

  [Required]
  public string LastName { get; set; }
}
public class UpdatePerson
{
  public string Name { get; set; }

  public string LastName { get; set; }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文