【问题标题】:REST Api usage in Robot frameworkRobot 框架中的 REST Api 使用
【发布时间】:2016-05-05 18:38:08
【问题描述】:

我完成了一个 REST DELETE 调用。删除后,我正在使用 GET Rest 调用验证相同的 url。

预期结果:它应该抛出 - 404 错误,这是有效的,因为数据剂量存在。 当前结果 - 200 - 即使在 delete 之后,数据仍然存在!!!

请告诉我,REST DELETE API 是否使用任何延迟来反映?

【问题讨论】:

  • 能否提供相关代码,方便我们为您提供帮助?
  • DELETE 调用的响应代码是什么?是退回200吗?你能展示你是如何进行删除的吗?您正在使用哪个库,或者您正在使用自定义关键字?
  • 嗨,我正在使用 RequestsLibrary.Delete 函数。

标签: rest robotframework


【解决方案1】:

https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html 的 DELETE 规范声明:


9.7 删除

DELETE 方法请求源服务器删除由 Request-URI 标识的资源。此方法可能会被源服务器上的人工干预(或其他方式)覆盖。即使从源服务器返回的状态码表明操作已经成功完成,客户端也不能保证操作已经执行。但是,服务器不应指示成功,除非在给出响应时它打算删除资源或将其移动到无法访问的位置。

如果响应包含描述状态的实体,则成功的响应应该是 200(OK),如果尚未执行该操作,则应为 202(已接受),或者如果该操作已执行但响应为 204(无内容)不包括实体。

如果请求通过缓存并且 Request-URI 标识了一个或多个当前缓存的实体,则这些条目应该被视为陈旧的。对此方法的响应不可缓存。


所以基本上它说服务器没有义务立即删除资源,只是表明意图。即使“不错”的服务器随后会返回 202(已接受)以指示延迟。有没有机会这样做?

【讨论】:

    猜你喜欢
    • 2023-03-15
    • 2020-05-15
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 2017-10-11
    • 2022-06-17
    相关资源
    最近更新 更多