不再需要邮递员,只需使用 cURL + vim = 使结果更方便。

2025-06-08

不再需要邮递员,只需使用 cURL + vim =

使结果更加方便。

最初发表在我的博客上

Postman 是最流行的 API 客户端工具之一,用于
在开发环境中发送和查看响应。但由于 Postman 是专有软件,并且
有免费开源的替代方案,所以我会选择
Insomnia 或 Postwoman 之类的工具。

但是如果存在的话,我也会选择 CLI,并且 cURL 是一种
易于使用且功能齐全的工具,在本文中,我将向您展示如何
使用 cURL + vim + git 设置有据可查的 api。

如何在 vim 编辑器中执行 CLI?

vim 是一个非常强大的编辑器,您可以在其中执行命令行
。进入命令模式并插入:! <command>并按回车键。

例如:

  :! ls
Enter fullscreen mode Exit fullscreen mode

将执行ls命令行并在分页器中显示内容

vim 中 ls 命令的屏幕截图

将当前文件的内容作为 CLI 执行。

在 vim 中打开一个空文件并在其中写入echo Hello, World!并保存,
然后写入:!sh %

百分比%是指文件名,所以如果我们用普通的 bang 运行它,:! %
它将不起作用,因为它试图将文件作为可执行文件运行,而不是里面的内容。

因此我们sh%通过shell来运行文件里面的内容。

vim 中的 :!sh 命令

测试我们的第一个 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
Enter fullscreen mode Exit fullscreen mode

.sh使文件突出显示。

让我们从第一个简单的开始api/posts/get/todos.sh

写入文件并保存。

curl -s -X GET \
    'https://jsonplaceholder.typicode.com/todos'
Enter fullscreen mode Exit fullscreen mode

然后就像我们之前运行的那样:!sh %

vim 中 :!sh % 结果的屏幕截图

使结果更加方便。

在大多数工具中,您将获得请求本身
和结果的分割视图。

打开 vim 配置文件并添加

command Exec set splitright | vnew | set filetype=sh | read !sh #
Enter fullscreen mode Exit fullscreen mode

之前的命令将以垂直视图在新的缓冲区中打开结果。

如果您喜欢水平视图,您可以将命令更改为

command Exec set splitbelow | new | set filetype=sh | read !sh #
Enter fullscreen mode Exit fullscreen mode

再次打开api/posts/get/todos.sh并在命令模式下写入,:Exec
这将执行文件内的命令并打开分割视图显示结果。

vim 命令之前的屏幕截图

现在您有了 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 }' \
Enter fullscreen mode Exit fullscreen mode

-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'
Enter fullscreen mode Exit fullscreen mode

您仍然可以使用查询参数,-d但添加一个附加参数-G, --get以将其作为查询参数传递

因为这不是一个足够的 cURL 教程,您
可以从互联网上了解更多有关设置标头、cookie 等高级内容。

使用 git?

当然,在我们创建的目录上运行git init并推送到 github。

请参阅 github 上的这个例子

结论

您现在可以编写一个有据可查的 api,并通过 git 与您的朋友共享,
所有这些都可以通过简单的开源工具完成,而且不仅限于 cURL,
您还可以编写自己的脚本并在 vim 中运行它,或者使用管道 cURL 命令为其他
工具操作输出,例如jq,您可以过滤输出。



鏂囩珷鏉ユ簮锛�https://dev.to/22mahmoud/no-more-postman-just-use-curl-vim-2mha
PREV
使用 `useWindowSize` React Hook 处理 JavaScript 中的响应性
NEXT
2021 年 JavaScript 框架