ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

REST 客户端

yeraydiazdiaz ST4

Sublime Text 4 的 REST 客户端

详细信息

  • 1.1.0
  • github.​com
  • github.​com
  • 3个月前
  • 2小时前
  • 2年前

安装

  • 总计 2K
  • Win 750
  • Mac 383
  • Linux 400
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日 6月22日
Windows 1 2 1 2 0 1 0 0 0 0 0 2 1 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 2 0 0 0 0 0 4 1 0 1 0 0 0 0 0 1 0
Mac 2 1 0 0 0 1 0 1 3 0 0 0 1 0 1 0 0 0 0 0 0 3 0 0 0 0 1 0 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 0 2 3
Linux 0 0 0 0 2 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 1 0 0 0 0 3 2 0 0 0 1

读我

源码
raw.​githubusercontent.​com

Sublime REST Client

Sublime REST Client 是一个受 VSCode 中出色的 REST Client 扩展 启发的 Sublime Text 4 HTTP 客户端插件。

Sublime REST Client demo

Sublime REST Client 提供了优秀的 urllib3,并使用与 Sublime Text 4 打包的 certifi,以确保安全的 HTTP 请求。

该项目被认为是 ALPHA 版本,并且只在 Mac OS X 中进行了测试。

安装

  1. 从 Sublime Text 4 中,如果您还没有安装,请安装 Package Control
  2. 从命令面板运行 Package Control: Install Package
  3. 输入 REST,您应该会在列表中看到 REST Client,选择它进行安装。

快捷键

目前只有一个命令 REST: Send request

Sublime REST Client 未提供默认快捷键,您可以通过打开 首选项: 键盘快捷键 并将其添加到快捷键列表中来自行添加。

{
   "keys": ["ctrl+alt+r"],
   "command": "rest_request"
}

更改 keys 为您想要的任何组合。

使用方法

Sublime REST Client 提供与 REST Client 相同的简单、声明性方式来定义 HTTP 请求。就像这样简单

https://httpbin.org/get

调用“REST: Send request”将请求发送到 URL,并将响应写入另一个标签页

GET https://httpbin.org/get 200 OK

Date: Sun, 20 Mar 2022 17:27:11 GMT
Content-Type: application/json
Content-Length: 308
Connection: keep-alive
Server: gunicorn/19.9.0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true

{
  "args": {},
  "headers": {
    "Accept-Encoding": "identity",
    "Content-Length": "59",
    "Host": "httpbin.org",
    "User-Agent": "python-urllib3/1.26.5",
    "X-Amzn-Trace-Id": "Root=1-623763ef-5339120230225c282d6687b2"
  },
  "origin": "109.181.57.85",
  "url": "https://httpbin.org/get"
}

查询参数

查询参数可以在请求定义的第一行中按通常方式添加

GET https://httpbin.org/get?hello=world

或者在下方的带有缩进的行中添加

GET https://httpbin.org/get
  ?hello=world
  &client=sublime

请求头

请求定义可能包括 HTTP 方法和请求头

GET https://httpbin.org/get
user-agent: sublime rest client

这将生成

GET https://httpbin.org/get 200 OK

Date: Sun, 20 Mar 2022 17:35:23 GMT
Content-Type: application/json
Content-Length: 277
Connection: keep-alive
Server: gunicorn/19.9.0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true

{
  "args": {},
  "headers": {
    "Accept-Encoding": "identity",
    "Host": "httpbin.org",
    "User-Agent": "sublime rest client",
    "X-Amzn-Trace-Id": "Root=1-623765db-0ff407a42748a89733c96bbb"
  },
  "origin": "109.181.57.85",
  "url": "https://httpbin.org/get"
}

请求还可以包含一个有效负载

POST https://httpbin.org/post
content-type: application/json

{
  "hello": "world!"
}

以及其响应

POST https://httpbin.org/post 200 OK

Date: Sun, 20 Mar 2022 17:34:14 GMT
Content-Type: application/json
Content-Length: 465
Connection: keep-alive
Server: gunicorn/19.9.0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true

{
  "args": {},
  "data": "{\n  \"hello\": \"world!\"\n}",
  "files": {},
  "form": {},
  "headers": {
    "Accept-Encoding": "identity",
    "Content-Length": "23",
    "Content-Type": "application/json",
    "Host": "httpbin.org",
    "User-Agent": "python-urllib3/1.26.5",
    "X-Amzn-Trace-Id": "Root=1-62376596-3d6be5d11f9dd27b26e7a27e"
  },
  "json": {
    "hello": "world!"
  },
  "origin": "109.181.57.85",
  "url": "https://httpbin.org/post"
}

多个请求文件

单个 .rest 文件可以包含多个请求定义,但它们必须由以 ### 开头的行分隔,例如:

GET https://httpbin.org/get
user-agent: sublime rest client

### maybe some description

POST https://httpbin.org/post
content-type: application/json

{
  "hello": "world!"
}

当调用“发送请求”时,Sublime REST 客户端将检测光标当前位置的请求定义并发送它。

变量替换

通常需要定义多个请求以使用相同的信息,例如,必须在所有请求中发送的 JWT 令牌。为了避免在所有定义中重复令牌,可以使用 @name = value 定义变量,并在请求定义中使用 {{name}} 引用。

@token = ABC123

GET https://httpbin.org/get
Authorization: Bearer {{token}}

开发

  1. 通过在 $HOME/Library/Application Support/Sublime Text 3/Packages 中创建指向此仓库根目录的符号链接来安装插件。路径还可以是 $HOME/Library/Application Support/Sublime Text/Packages
ln -s `pwd` ~/Library/Application\ Support/Sublime\ Text/Packages
  1. 运行 REST: 发送请求 命令,或通过控制台 window.run_command("rest_request") 运行。

要开始开发

  1. 安装 ST4 内嵌的 3.8.8 版本 Python,或者安装最接近兼容的版本 3.8.13。
  2. 创建虚拟环境并激活它。
    • 注意:如果您使用 pyenv,请注意它依赖于一个 .python-version 文件,Sublime Text 也使用该文件但内容不同,这会导致它完全忽略插件。一种解决方法是在 .pyenv/versions 中创建一个带有 3.8 名称的符号链接。
  3. 运行 make install-dev
  4. 安装 direnv 并运行 direnv allow 以将包添加到 PYTHONPATH。这是包装 sublime_rest 的一个解决方案,因为插件根目录只能有一个 Python 文件。

要更新 urllib3 的版本,编辑 main.txt 并运行 make upgrade-deps

替代方案

RESTer HTTP Client 与 REST Client 有相同的理念,但它的开发似乎已经停止了几年,因此不针对 Sublime Text 4。它的代码还使用标准库在大多数 HTTP 请求上执行重任务,这看起来是不必要的,而且在存在 urllib3 时可能是一个安全风险。

还有 其他用于 Sublime Text 的 HTTP 客户端,其中许多维护得更好,功能更丰富,但它们不遵循 REST Client 一样的简单、声明性哲学。