同一类不同的数据注释
假设我不使用单个类来创建和更新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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论