通过仅使用POST实现RESTful兼容

通过仅使用POST实现RESTful兼容,rest,post,Rest,Post,到目前为止,我只使用POST方法创建web服务(不用于网站)。我认为如果不是针对一个网站的话,这是更安全、更好的方法,因为在发送敏感数据时,参数不会存储在web服务器日志中 现在我不确定这是否符合RESTful,是否是最好的方法。我现在的定义是 POST https://{url}/order/getOrder Content-Type: application/json { "orderId": "42" } 通常情况下,GET请求将是 GET https://{url}/order/4

到目前为止,我只使用POST方法创建web服务(不用于网站)。我认为如果不是针对一个网站的话,这是更安全、更好的方法,因为在发送敏感数据时,参数不会存储在web服务器日志中

现在我不确定这是否符合RESTful,是否是最好的方法。我现在的定义是

POST https://{url}/order/getOrder
Content-Type: application/json
{
  "orderId": "42"
}
通常情况下,GET请求将是

GET https://{url}/order/42

可能的问题是,是否所有的示例都是RESTful兼容的,或者只有最后两个

致意 法学博士

现在我不确定这是否符合RESTful,是否是最好的方法

从技术上讲,我想不是。是REST体系结构风格中的头等大事

缓存约束要求请求响应中的数据隐式或显式标记为可缓存或不可缓存

在HTTP规范中,POST被显式地列为。但是,缓存失效规范要求对POST请求的非错误响应必须是先前为有效请求URI缓存的条目

因此,对于查询(通常是操作),您应该使用GET或HEAD

因此,在您列出的选项中,“REST兼容”方法是

GET https://{url}/order/42
第三种选择失败的原因如下:

GET请求消息中的负载没有定义的语义

我认为,这主要是因为当负载需要被视为缓存密钥的一部分时,缓存很难做出明智的事情

GET https://{url}/order/42