API POST 和 GET/PUT 的不同模型
Rest API different models for POST and GET/PUT
我正在设计 REST API。如您所知,RESTful API 没有真正的规范。
在我的例子中,我有一个简单的 API 我有用户。
我可以获取用户,更新他们。像这样:
GET .../users/12
但是,对于创建用户,我只想允许一部分属性。
例如。
当您获得用户时,您会获得许多属性,例如:
ID,
姓名,
创建日期
等等
当您创建一个用户时,我只想允许 POST 名称而不是其他任何内容。
在您对 RESTful 服务的理解中,是否允许对同一资源的不同 http 动词使用不同的模型?
或者你会期望 a
POST ../users
可以拥有与获取现有属性时所获得的属性完全相同的属性吗?
或者您是否认为我不应该这样做?
在阅读了许多宗教讨论后只是想知道 ;)
提前致谢
最好
劳林
首先:我认为 Roy Fieldings 的论文 Architectural Styles and
基于网络的软件体系结构设计.
其次:我认为您有一个小误解,REST 与模型或控制器无关,它与资源有关。模型和资源之间通常存在一对一的关系,但这不是必需的。
第三:要实现您的要求,您只需要一个 user
模型。当 API 用户发布的参数超过您允许的参数时,请忽略它们并仅使用您要在新创建的模型上设置的参数。或者,如果您不想忽略它们 return 400 Bad Request
HTTP 状态。
我正在设计 REST API。如您所知,RESTful API 没有真正的规范。 在我的例子中,我有一个简单的 API 我有用户。 我可以获取用户,更新他们。像这样:
GET .../users/12
但是,对于创建用户,我只想允许一部分属性。 例如。 当您获得用户时,您会获得许多属性,例如: ID, 姓名, 创建日期 等等
当您创建一个用户时,我只想允许 POST 名称而不是其他任何内容。 在您对 RESTful 服务的理解中,是否允许对同一资源的不同 http 动词使用不同的模型? 或者你会期望 a
POST ../users
可以拥有与获取现有属性时所获得的属性完全相同的属性吗?
或者您是否认为我不应该这样做? 在阅读了许多宗教讨论后只是想知道 ;)
提前致谢 最好 劳林
首先:我认为 Roy Fieldings 的论文 Architectural Styles and 基于网络的软件体系结构设计.
其次:我认为您有一个小误解,REST 与模型或控制器无关,它与资源有关。模型和资源之间通常存在一对一的关系,但这不是必需的。
第三:要实现您的要求,您只需要一个 user
模型。当 API 用户发布的参数超过您允许的参数时,请忽略它们并仅使用您要在新创建的模型上设置的参数。或者,如果您不想忽略它们 return 400 Bad Request
HTTP 状态。