【问题标题】:Understanding the GET/POST/DELETE requests on a basic level?了解基本级别的 GET/POST/DELETE 请求?
【发布时间】:2021-10-31 01:23:05
【问题描述】:

我目前正在学习使用 REST API(在本例中来自 WooCommerce)并遇到了一些基本问题:

如何在 Postman 软件中查看完整的请求字符串? 我正在测试一个简单的 GET 请求,它适用于例如:

<host>/wp-json/wc/v3/products

接收产品列表。在这种情况下,我使用授权选项卡输入我的用户/密码作为基本身份验证。 我还使用另一个简单的 Windows 命令提示符测试了 curl.exe。这也返回了产品列表:

curl.exe <host>/wp-json/wc/v3/products -u mykey:mysecret

它们之间有什么区别?我假设最后一个示例是一个简单的 GET,尽管没有说明。 POST或DELETE等怎么样?这是我不明白的:https 请求只能有地址和最终参数。 “GET”在哪里以及如何出现?! 如果可能的话,我希望看到来自工作邮递员示例的完整 URL 请求(作为一个字符串)?

我的最后一个问题是关于在另一个不是 WooCommerce 的服务器/服务上测试相同的方法。 Afaik 这个服务是用一种叫做 swagger 的东西创建的:

curl "<host>/orderapi/item" -H "accept: application/json" -H "X-Customer: <customer>" -H "X-ApiKey: <mykey>" -H "X-ApiSecret: <mysecret>" -H "Content-Type: application/json"

这还会返回一个列表,在这种情况下是订单而不是产品。都很好。

但是对于这个例子,我还没有弄清楚如何在 Postman 中实现相同的请求。我应该使用什么身份验证方法? 再说一次,我不明白 GET/POST/DELETE 的事情。而且我还希望将完整的请求视为一个字符串。

【问题讨论】:

    标签: rest woocommerce postman


    【解决方案1】:

    1) 如何在 Postman 软件中查看完整的请求字符串?我希望从工作邮递员示例中查看完整的 URL 请求(作为一个字符串)

    在 9.x.x 版本上:

    The code window(image) 显示选择的方法(黄色标记)和代码窗口(红色箭头),您可以在其中获得实际 curl code(image)

    2) 它们之间有什么区别?我假设最后一个示例是一个简单的 GET,尽管没有说明。 POST或DELETE等怎么样? “GET”在哪里以及如何出现?

    来自卷曲documentation

    -X, --request

    (HTTP) 指定通信时使用的自定义请求方法 与 HTTP 服务器。将使用指定的请求方法 而不是其他使用的方法(默认为 GET)。阅读 HTTP 1.1 规范的详细信息和解释。常见的附加 HTTP 请求包括 PUT 和 DELETE,但相关技术如 WebDAV 提供 PROPFIND、COPY、MOVE 等功能。

    GET 是 curl 的默认方法,这意味着:

    curl.exe <host>/wp-json/wc/v3/products -u mykey:mysecret
    

    等同于:

    curl.exe <host>/wp-json/wc/v3/products -u mykey:mysecret -X "GET"
    

    因此,对于 POST/DELETE/...,您应该更改您的“-X”参数,例如:

    curl.exe <host>/wp-json/wc/v3/products -u mykey:mysecret -X "POST" [...otherOptions]
    

    (假设你可以在上面的url上收到一个POST)

    3) [在另一个服务器/服务上] 我还没有弄清楚如何在 Postman 中实现相同的请求。我应该使用什么身份验证方法?

    -H 指定您要传递的标头参数。您的示例中有这些:

    • 接受:应用程序/json
    • X 客户:
    • X-ApiKey:
    • X-ApiSecret:
    • 内容类型:应用程序/json

    您需要在headers(image) 标签上的邮递员中添加这些。在这种情况下,您无需指定身份验证方法,只要在标头上发送 ApiKey。除此之外,您可以将授权类型指定为“Api Key”并输入X-ApiKey as key and your apikey value on the value field(image)。它将生成与标题图像中所示相同的请求。

    【讨论】:

      【解决方案2】:

      curl,至少是 Linux 上的 GNU,默认使用 GET 方法。如果要更改请求中的 HTTP 方法,有-X 选项,例如:

      $ curl -X DELETE https://example.com
      

      Postman 有一个名为 Postman Console 的东西,您可以通过按 Alt + Ctrl + C 打开它:

      您可以在哪里查看有关请求和响应的更多详细信息。

      Postman 还可以让你导入 curl 命令,所以你不需要手动准备请求,你可以只在 Postman 中粘贴 curl 命令。

      网上有很多关于细节的资源,例如how to import a curl command.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-17
        • 2017-06-05
        • 1970-01-01
        • 1970-01-01
        • 2010-09-26
        相关资源
        最近更新 更多