我正在设计一个 REST API。如您所知,RESTful API 没有真正的规范。就我而言,我有一个简单的 API,其中有用户。我可以获取用户并更新他们。像这样的东西:
获取.../用户/12
但是,为了创建用户,我希望只允许属性的子集。例如,当您获得用户时,您会获得许多属性,例如:Id、Name、CreationDate 等
当您创建用户时,我只想允许发布名称而不是其他任何内容。在您对 RESTful 服务的理解中,是否允许对同一资源的不同 http 动词有不同的模型?或者你会期望一个
发布../用户
是否可以具有与获取现有属性时获得的属性完全相同的属性?
或者您认为我不应该这样做?阅读了许多宗教讨论后只是想知道;)
提前谢谢你最好的劳林
第一:我认为 Roy Fieldings 的论文Architectural Styles and the Design of Network-based Software Architectures对 RESTful 架构风格有很好的定义。
第二:我认为您有一个小误解,REST 与模型或控制器无关,而是与资源有关。模型和资源之间通常存在一对一的关系,但这不是必需的。
第三:要实现您的要求,您只需要一种user
模型。当 API 用户发布的参数超过您允许的参数时,只需忽略它们并仅使用您想要在新创建的模型上设置的参数。或者,如果您不想忽略它们,则返回400 Bad Request
HTTP 状态。
归档时间: |
|
查看次数: |
2904 次 |
最近记录: |