不再需要邮递员,只需使用 cURL + vim =
使结果更加方便。
Postman 是最流行的 API 客户端工具之一,用于
在开发环境中发送和查看响应。但由于 Postman 是专有软件,并且
有免费开源的替代方案,所以我会选择
Insomnia 或 Postwoman 之类的工具。
但是如果存在的话,我也会选择 CLI,并且 cURL 是一种
易于使用且功能齐全的工具,在本文中,我将向您展示如何
使用 cURL + vim + git 设置有据可查的 api。
如何在 vim 编辑器中执行 CLI?
vim 是一个非常强大的编辑器,您可以在其中执行命令行
。进入命令模式并插入:! <command>
并按回车键。
例如:
:! ls
将执行ls
命令行并在分页器中显示内容
。
将当前文件的内容作为 CLI 执行。
在 vim 中打开一个空文件并在其中写入echo Hello, World!
并保存,
然后写入:!sh %
。
百分比%
是指文件名,所以如果我们用普通的 bang 运行它,:! %
它将不起作用,因为它试图将文件作为可执行文件运行,而不是里面的内容。
因此我们sh
先%
通过shell来运行文件里面的内容。
测试我们的第一个 cURL 命令
为了演示,我们将使用jsonplaceholder作为我们的 API 进行测试
创建如下所示的文件夹结构:
└── api
└── todos
├── delete
│ └── todo.zsh
├── get
│ ├── todo-by-user.sh
│ ├── todo.sh
│ └── todos.sh
├── patch
│ └── todo.sh
├── post
│ └── todo.sh
└── put
└── todo.sh
.sh
使文件突出显示。
让我们从第一个简单的开始api/posts/get/todos.sh
。
写入文件并保存。
curl -s -X GET \
'https://jsonplaceholder.typicode.com/todos'
然后就像我们之前运行的那样:!sh %
使结果更加方便。
在大多数工具中,您将获得请求本身
和结果的分割视图。
打开 vim 配置文件并添加
command Exec set splitright | vnew | set filetype=sh | read !sh #
之前的命令将以垂直视图在新的缓冲区中打开结果。
如果您喜欢水平视图,您可以将命令更改为
command Exec set splitbelow | new | set filetype=sh | read !sh #
再次打开api/posts/get/todos.sh
并在命令模式下写入,:Exec
这将执行文件内的命令并打开分割视图显示结果。
现在您有了 vim 缓冲区,您可以轻松搜索并执行任何操作。要关闭缓冲区,您可以使用
命令:bd!
或键盘快捷键shift + z + q
。
cURL 有限制吗?
答案是否定的。
让我们看几个例子
- POST 请求:
curl -s -X POST \
'https://jsonplaceholder.typicode.com/posts' \
-H 'Content-Type: application/json' \
-d '{ "title": "fooBatch", "completed": false, "userId": 1 }' \
-X <REQUEST_TYPE>
您可以使用选项进行 post、get、put 等任何 http 请求。
要传递正文数据,请使用-d, --data {json format>}
,如果数据很大,
您可以将其写入json
文件中并将其传递为-d @todo.json
- 带有查询参数的 GET 请求:
curl -s -X GET -G \
'https://jsonplaceholder.typicode.com/todos' \
-d 'userId=1'
您仍然可以使用查询参数,-d
但添加一个附加参数-G, --get
以将其作为查询参数传递
因为这不是一个足够的 cURL 教程,您
可以从互联网上了解更多有关设置标头、cookie 等高级内容。
使用 git?
当然,在我们创建的目录上运行git init
并推送到 github。
结论
您现在可以编写一个有据可查的 api,并通过 git 与您的朋友共享,
所有这些都可以通过简单的开源工具完成,而且不仅限于 cURL,
您还可以编写自己的脚本并在 vim 中运行它,或者使用管道 cURL 命令为其他
工具操作输出,例如jq
,您可以过滤输出。