【发布时间】:2014-12-18 09:11:47
【问题描述】:
我正在开发一个新的 Web API,并且我有一个用于 CRUD 操作的用户模型。但是,由于我们的业务性质,每当客户发布数据以创建新用户时,他们应该首先发送给我们他们的用户 ID,然后我们在内部创建自己的用户 ID,这个用户 ID 被发回,客户端现在应该使用我们提供给他们的这个新生成的 ID,以供将来对我们系统的任何参考。
问题: 我有一个具有属性的用户模型:
ExternalClientId :这是调用 API 的外部客户端将发送的 ID
UserId :这是我们系统新生成的 ID,将被发送回客户端。
现在在我的验证中,我需要确保用户始终在 POST 中传递 ExternalClientId,因为这是我生成新 ID 的关键,因此我有数据注释:
[Required]
ExternalClientId
但是,当涉及到更新 (PUT) 时,用户应该传递生成的“UserId”,此时 ExternalClientId 不再是必需属性,我该如何在单个用户模型中管理它?
我还考虑为每种方法设置单独的用户模型,但我不确定这是否是正确的方法。
【问题讨论】:
标签: c# validation asp.net-web-api2