我想知道人们对在响应体中不返回任何(null)的RESTful PUT操作有什么看法。
当前回答
我在我的服务中使用了RESTful API,以下是我的观点: 首先,我们必须了解一个通用视图:PUT用于更新资源,而不是创建或获取资源。
我用:无状态资源和有状态资源来定义资源:
无状态的资源 对于这些资源,只返回带有空主体的HttpCode就足够了。 有状态资源 例如:资源的版本。对于这类资源,当您想要更改它时,您必须提供版本,因此返回完整的资源或将版本返回给客户端,因此客户端在更新操作后不需要发送get请求。
但是,对于服务或系统来说,最重要的是保持简单、清晰、易于使用和维护。
其他回答
HTTP/1.1规范(第9.6节)讨论了适当的响应/错误代码。但是,它不处理响应内容。
你想要什么?一个简单的HTTP响应代码(200等)对我来说似乎是直接而明确的。
“Created”的Http响应代码201以及指向客户端可以找到新创建资源的“Location”标头。
空的Request体符合GET请求的原始目的,空的响应体也符合PUT请求的原始目的。
我在我的服务中使用了RESTful API,以下是我的观点: 首先,我们必须了解一个通用视图:PUT用于更新资源,而不是创建或获取资源。
我用:无状态资源和有状态资源来定义资源:
无状态的资源 对于这些资源,只返回带有空主体的HttpCode就足够了。 有状态资源 例如:资源的版本。对于这类资源,当您想要更改它时,您必须提供版本,因此返回完整的资源或将版本返回给客户端,因此客户端在更新操作后不需要发送get请求。
但是,对于服务或系统来说,最重要的是保持简单、清晰、易于使用和维护。
HTTP响应的头和正文之间是有区别的。PUT永远不应该返回正文,但必须在报头中返回响应代码。如果成功就选择200,如果不成功就选择4xx。没有空返回码这样的东西。你为什么想做这个?
推荐文章
- PATCH和PUT请求的主要区别是什么?
- 调用webrequest, POST参数
- 如何在Spring RestTemplate请求上设置“接受:”头?
- REST API最佳实践:查询字符串中的参数vs请求体中的参数
- Java中SOAP和rest式web服务的主要区别
- Android Scala编程
- 如何为Java创建REST客户端?
- Android 8.1升级后start前台失败
- file_get_contents(): SSL operation failed with code 1, failed to enable crypto
- 在HttpClient和WebClient之间进行选择
- 执行没有实体主体的HTTP POST被认为是不好的做法吗?
- JavaScript/jQuery下载文件通过POST与JSON数据
- 如何检查位置服务是否已启用?
- 基于Spring的RESTful认证
- 在Java中读取资源文本文件到字符串