restful web service:如何测试{id}项是否存在?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了restful web service:如何测试{id}项是否存在?相关的知识,希望对你有一定的参考价值。

如何检查{Id}项目是否存在?

  1. POST项目/ Id => 404它不存在。 409它存在
  2. GET item / Id => 404不存在。 200它存在
  3. HEAD项目/ Id => 404不存在。 200它存在

我想最好的选择是3.除非HEAD动词被过滤。

1有意义吗? (不记得我在哪里看到这个建议)1可以理解为创建项目并尝试将其插入为“Id”,在这种情况下如果成功则可以返回200(而不是404)

答案

如何测试{id}项是否存在?

REST实际上没有项目,它有资源(资源可能引用一个项目 - 但这实际上是一个实现细节)。

此外,“存在”在REST中并不是一个真正的概念

资源可以映射到空集,这允许在概念的任何实现存在之前对概念进行引用 - 这一概念对于Web之前的大多数超文本系统来说是陌生的

404没有告诉您资源不存在 - 它告诉您该资源当前没有可用的表示。不完全是一回事。

那说......

如果您尝试向源服务器发送有关资源的消息,并希望确保这样做不会对属性造成任何损害,那么正确的做法是使用safe语义中的一种方法。

如果请求方法的定义语义基本上是只读的,则被认为是“安全的”;即,作为对目标资源应用安全方法的结果,客户端不请求并且不期望源服务器上的任何状态改变。

在你的列表中,GETHEAD是合适的,但不是POST(因为POST没有安全的语义)。

以上是关于restful web service:如何测试{id}项是否存在?的主要内容,如果未能解决你的问题,请参考以下文章

(转)接口自动化测试 – Java+TestNG 测试 Restful Web Service

Web Service和REST(下)

Web Service和REST(上)

接口自动化测试框架搭建 – Java+TestNG 测试Restful service

零成本实现接口自动化测试 – Java+TestNG 测试Restful service

如何封装RESTful Web Service