繁体   English   中英

Rest API用于POST和GET / PUT的不同模型

[英]Rest API different models for POST and GET/PUT

我正在设计一个REST API。 如您所知,RESTful API没有真正的规范。 在我的情况下,我有一个简单的API,我有用户。 我可以得到用户,更新它们。 像这样的东西:

GET ... / users / 12

但是,对于创建用户,我希望仅允许属性的子集。 例如,当您获得用户时,您将获得许多属性,例如:Id,Name,CreationDate等

当您创建用户时,我只想允许POST名称而不是其他内容。 在理解RESTful服务时,是否允许为同一资源使用不同的http动词的不同模型? 或者你会期待吗?

POST ../users

可以具有与获取现有属性时完全相同的属性?

或者你认为我不应该这样做吗? 在阅读了许多宗教讨论后,只是想知道;)

提前谢谢你最好的劳林

第一:我认为在Roy Fieldings论文建筑风格和基于网络的软件架构设计中, RESTful架构风格有一个很好的定义。

第二:我认为你有一个小的误解REST不是关于模型或控制器它是关于资源。 模型和资源之间通常存在一对一的关系,但并不是必需的。

第三:要实现您的要求,您只需要一个user模型。 当API用户发布超过您允许的参数时,请忽略它们,并仅使用您要在新创建的模型上设置的参数。 或者,如果您不想忽略它们,则返回400 Bad Request HTTP状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM