我的一位朋友正在开发RESTful HTTP API。他向公司的一位建筑师展示了他的解决方案,他说他的解决方案是错误的,因为GET中暴露的资源与POST中的资源没有相同的结构。也就是说,GET上返回的资源所占用的字段少于POST上传递的字段。除了说这不是RESTful之外,建筑师没有提出任何论据。
REST架构中是否有任何规则说任何动词的资源结构应该相同?如果是,为什么推荐这个?
由于
答案 0 :(得分:2)
REST的架构限制在此处描述:https://en.wikipedia.org/wiki/Representational_state_transfer#Architectural_constraints
它们都没有描述响应类型(GET,POST,...)应具有相同结构的内容,但GET
结果应该有足够的信息才能执行POST
或DELETE
请求(通过陈述操纵资源)。这是因为如果无法修改或删除所需的参数,您将无法修改或删除您的资源;例如,您GET
检索了值x
和y
,但也需要值z
才能执行POST
,您将如何能够修改此资源?
希望这能回答你的问题。