我知道PUT是幂等的,但我怎样才能以编程方式确保它?我必须满足哪些条件来创建完全幂等端点?如何创建幂等端点
Q
如何创建幂等端点
0
A
回答
1
从RESTful服务的角度来看,对于一个操作(或服务调用) 为幂等,客户端可以使相同呼叫反复而产生 相同的结果。换句话说,制作多个相同的 请求与制作单个请求具有相同的效果。注意 虽然幂等操作在服务器上产生相同的结果(没有 副作用),但响应本身可能并不相同(例如, 资源的状态可能在请求之间改变)。
A PUT
应该用请求主体中收到的新值更新资源。因此,无论是发送一次还是多次,服务器上的结果都不应该改变(例如,不同于POST
,例如,更多请求会导致冲突错误或创建多个资源)。
+0
您必须注意_idempotent_和_safe_之间的区别。 _Idempotent_表示您可以根据需要经常调用相同的方法,您将得到相同的结果,但这并不意味着资源不会被修改。最好的例子是_delete_方法/ http动词。 _POST_和_PATHCH_既不是_idempotent_也不是_safe_,而_PUT_和_DELETE_是_idempotent_,但* not * _safe_。 – andih
相关问题
- 1. GET方法如何幂等
- 2. HTTP幂等和非幂等方法?
- 3. SQL幂等
- 4. 如何才能让psql进程在幂级中幂等?
- 5. Dynamics CRM:如何创建服务端点
- 6. 如何创建自定义API端点?
- 7. 如何以幂等方式在Ansible中创建Django超级用户?
- 8. 在MySQL中使用值插入创建幂等表和索引
- 9. JBehave - 如何编写幂等性故事?
- 10. 如何使写操作幂等?
- 11. CQRS/EventStore幂等性?
- 12. 幂等PostgreSQL DDL脚本
- 13. Ansible blockinfile模块幂等?
- 14. Jira REST API幂等性
- 15. 如何使用subsonic与SQL 2008后端执行幂等插入行?
- 16. 如何在Clojure中创建一个负指数的幂函数?
- 17. 幂次幂贴图效率如何?
- 18. cxf - 如何在另一个端点上创建一个REST NO soap端点
- 19. 使用boto3 ECS获取“创建服务不是幂等的”。为什么?
- 20. 如何创建节点和集合(表中等效于mysql)
- 21. 从坐标点创建等值线图
- 22. 如何创建点数组?
- 23. 如何创建接入点
- 24. 如何创建评分点
- 25. 如何创建具有HTTP端点的公用存储Azure
- 26. 如何使用hook_form来创建前端节点表单?
- 27. 如何使用多个ID选择创建REST API端点
- 28. 如何为Marathon任务创建健康检查HTTP端点?
- 29. 如何通过编码创建多个端点?
- 30. 如何使用Apache CXF中的HTTPS端点创建Web服务
你真的是指_idempotent_还是你的意思是_safe_(无副作用)?幂等仅仅意味着如果您在资源上调用_PUT_,则会得到相同的结果。您只需用新内容替换资源的内容,则结果应始终为(例如)HTTP状态码200(只要资源存在)。 – andih