zoukankan      html  css  js  c++  java
  • IntelliJ中基于文本的HTTP客户端

    IntelliJ提供了一个纯基于文本的HTTP客户端。尽管一开始听起来可能很奇怪,但事实证明这是一个非常有用的功能。

    入门

    首先,我们需要创建一个名称以.http.rest结尾的文件。例如FunTester.http

    要发出简单的GET请求,我们必须在新创建的文件中写下该请求。

    例如:

    GET https://api.muxiaoguo.cn/api/dujitang

    IntelliJ现在在该行旁边添加了一个小的Run-Icon,它可以执行请求。

    • 响应结果:
    GET https://api.muxiaoguo.cn/api/dujitang
    
    HTTP/1.1 200 OK
    Server: nginx
    Date: Tue, 22 Sep 2020 08:17:55 GMT
    Content-Type: text/html; charset=utf-8
    Transfer-Encoding: chunked
    Connection: keep-alive
    Vary: Accept-Encoding
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate
    Pragma: no-cache
    Strict-Transport-Security: max-age=31536000
    
    {"code":"200","msg":"success","data":{"comment":"你以为有钱人很快乐吗?他们的快乐你根本想象不到!"}}
    
    Response code: 200 (OK); Time: 146ms; Content length: 76 bytes
    
    Cannot preserve cookies, cookie storage file is included in ignored list:
    > /Users/fv/Documents/workspace/fun/.idea/httpRequests/http-client.cookies
    
    
    • 如果要添加JSON参数的请求头,只需添加Content-Type标头和请求正文:
    GET  https://api.muxiaoguo.cn/api/dujitang
    cookie: PHPSESSID=e78ldgop6jub72kp636vqcsj6l
    user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36
    Content-Type: application/json
     
    {
      "aa": "FunTester",
      "ss": "ok"
    }
    
    • 同一文件中的多个请求需要使用###分隔。例如:
    GET  https://api.muxiaoguo.cn/api/dujitang
    cookie: PHPSESSID=e78ldgop6jub72kp636vqcsj6l
    user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36
    
    ###
     
    GET  https://api.muxiaoguo.cn/api/dujitang
    cookie: PHPSESSID=e78ldgop6jub72kp636vqcsj6l
    user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36
    Content-Type: application/json
     
    {
      "aa": "FunTester",
      "ss": "ok"
    }
    

    使用变量

    使用{{..}}语法,我们可以向请求中添加变量。也许我们想针对不同的环境发出相同的请求。为此,我们可以使用host变量更新请求:

    GET http://{{host}}/products

    接下来,我们需要定义{{host}}变量。为此,我们创建一个http-client.env.json文件并添加以下内容:

    {
      "development": {
        "host": "http://localhost:8080"
      },
      "production": {
        "host": "http://my-cool-api.com"
      }
    }
    

    这定义了两个环境:devonline。两种环境都使用不同的值定义host变量。

    运行请求时,我们现在可以选择所需的环境:

    团队共享

    基于文本的简单请求定义使您可以轻松地与团队共享。您甚至可以将请求文件检入版本控制系统。当然,您不希望签入执行请求可能需要的密码或API密钥。IntelliJ通过单独的私有环境文件(http-client.private.env.json)支持此功能。与前面的环境示例一样,我们可以使用此文件来定义变量。

    例如:

    {
      "dev": {
        "api-key": "S3DKLJ56698CR3T"
      }
    }
    
    

    为了确保安全性,我们可以从版本控制系统中明确排除此文件。


    公众号FunTester首发,原创分享爱好者,腾讯云和掘金社区首页推荐,知乎七级原创作者,欢迎关注、交流,禁止第三方擅自转载。

    FunTester热文精选

  • 相关阅读:
    反编译
    字符编码集格式
    BZOJ 1032 [JSOI2007]祖码Zuma
    2015-7-21 模板练习
    2015-7-20 模板练习
    BZOJ 1028 [JSOI2007]麻将
    BZOJ 1027 [JSOI2007]合金
    BZOJ 1026 [SCOI2009]windy数
    BZOJ 1025 [SCOI2009]游戏
    COJ 2024 仙境传奇(五)——一个天才的觉醒 素数筛
  • 原文地址:https://www.cnblogs.com/FunTester/p/13722842.html
Copyright © 2011-2022 走看看