Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 允许使用GET vs POST API验证docker映像_Python_Rest_Api_Microservices - Fatal编程技术网

Python 允许使用GET vs POST API验证docker映像

Python 允许使用GET vs POST API验证docker映像,python,rest,api,microservices,Python,Rest,Api,Microservices,不确定在这种情况下是使用GET还是POST。我正在创建一个API,它将返回docker映像是否兼容。更好的方法是什么 情景1: GET: https://<hostname>/api/checkImage?image=nginx:latest GET:https:///api/checkImage?image=nginx:latest 情景2 GET: https://<hostname>/api/checkImage/nginx:latest GET:https:

不确定在这种情况下是使用GET还是POST。我正在创建一个API,它将返回docker映像是否兼容。更好的方法是什么

情景1:

GET: https://<hostname>/api/checkImage?image=nginx:latest
GET:https:///api/checkImage?image=nginx:latest
情景2

GET: https://<hostname>/api/checkImage/nginx:latest
GET:https:///api/checkImage/nginx:latest
情景3

POST: https://<hostname>/api/checkImage
Payload: {"image": "nginx"}
POST:https:///api/checkImage
有效负载:{“映像”:“nginx”}
显然需要对冒号进行url编码,但上述所有场景都会返回:
{“allowed”:false}

需要理解的重要语义概念是

如果请求方法定义的语义本质上是只读的,则它们被认为是“安全的”

在本规范定义的请求方法中,GET、HEAD、OPTIONS和TRACE方法被定义为安全的

因此,在您的例子中,资源类似于“映像的符合性报告”;GET请求要求服务器提供报告的当前表示形式。服务器可以选择提供以前缓存的表示,也可以生成新的符合性报告并返回该报告——但这些是与请求语义无关的实现细节

另一方面,如果我们希望服务器将其资源表示更新为较新的内容,那么我们可能会使用POST,而不是GET,因为我们正在尝试引入更改,并且不希望通用缓存返回陈旧的报表表示

从客户机的角度来看,它可能看起来像

GET /api/checkImage?image=nginx:latest

Oh, this representation is too old, I need something recent

POST /api/checkImage?image=nginx:latest

GET用于检索有关某事物的信息。POST用于创建、更改状态或保存数据