让我们考虑一下我们的PUT端点对数据内容进行一些数据验证。然后,是这种情况(伪代码):
data
= GET data
=>总是产生200 / 2xx?或者PUT端点(4xx?)
是否可能认为数据无效换句话说:服务是否允许客户端读取(GET)在更新(PUT)时发送时本身被标记为无效的资源表示(关于数据验证)?
更新:注意:这不是媒体类型,而是实际数据验证。
答案 0 :(得分:0)
当您执行GET
请求时,您要求提供资源的代表性。当您执行PUT
请求时,您要求将目标资源替换为提交的代表中的目标资源。
因此,如果两种表示都使用相同的媒体类型,则服务器应该接受它,但是PUT
的一种媒体类型和{{1}的另一种媒体类型完全可能}。
服务器是否允许客户端读取(GET)可能的资源 在更新(PUT)上发送时,它本身被标记为无效?
这由GET
标题决定。例如,如果服务器允许客户端在使用Content-Type
执行GET请求时获取格式相当的HTML文档,但客户端必须使用Accept: text/html
表示更新该资源。