欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

Insomnia

Insomnia — 一个跨平台API调试工具,帮你像写代码一样优雅地测试HTTP接口。

嗨,大家好。今天想聊聊我最近彻底“入坑”的一个工具——Insomnia。说实话,作为一个后端和前端都沾边的技术人,我试过的API调试工具一只手数不过来:Postman用过好几年,甚至自己写过curl脚本套壳。但Insomnia真正让我觉得“舒服”的,是它那种干净、专注、不打扰的感觉。

如果你和我一样,经常需要调试REST API、GraphQL接口,或者单纯想找一个比Postman轻量、比curl直观的工具,这篇文章应该能帮你少走点弯路。

这个工具到底是干什么的?

一句话讲,Insomnia是一个跨平台的HTTP和GraphQL API客户端。你可以在上面发送GET、POST、PUT、DELETE等请求,查看响应数据,管理环境变量,自动化测试流程。

它解决的核心问题其实挺简单的:开发过程中,你不可能每次改完代码都打开浏览器或者写curl命令来测试接口。你需要一个地方,能保存请求历史、快速切换环境(比如开发、测试、生产)、自动生成代码片段,甚至团队协作。Insomnia把这些事做得特别利索。

和Postman最大的区别?我觉得是设计哲学。Insomnia更强调“本地优先”和“文件化”。你的所有配置(请求、环境、测试脚本)都可以存成一系列文件,放在项目仓库里,跟代码一起版本控制。这对团队协作和CI/CD集成来说,简直是福音。

下载方式

直接去官网下载就行,支持Windows、macOS、Linux。

Insomnia官网

对了,它现在有桌面版(最常用)和命令行版(inso,适合CI/CD)。桌面版是Electron写的,但性能优化得不错,比早期版本流畅很多。

安装方法

Windows

下载.exe安装包,双击下一步,选个安装目录就行。也可以从Microsoft Store安装,但更新可能慢一点。

macOS

下载.dmg文件,把图标拖进Applications文件夹。或者用Homebrew:

brew install --cask insomnia

Linux

有.deb、.rpm和AppImage三种格式。以Ubuntu为例:

# 下载deb包后
sudo dpkg -i insomnia*.deb
# 或者用snap(但snap版偶尔有bug)
sudo snap install insomnia

安装完打开,界面是深色主题(默认),看起来就很“程序员友好”。

基础使用教程

1. 创建你的第一个请求

打开Insomnia,你会看到一个空白的左侧边栏(Workspace)。点击“New Request”,输入一个名字(比如“获取用户列表”),选择方法(GET),然后输入URL,比如:

https://jsonplaceholder.typicode.com/users

点击“Send”,右侧就会显示响应状态码、Headers、JSON数据。就这?对,基础就是这么简单。

2. 管理请求集合(Collections)

左侧可以创建文件夹,把相关请求放进去。比如建一个“用户模块”文件夹,里面放“登录”、“注册”、“获取资料”三个请求。右键文件夹还可以导出为OpenAPI或cURL格式,方便分享。

3. 环境变量(Environments)

这是我最喜欢的功能。点击左下角齿轮图标 -> “Manage Environments”,你会看到一个JSON编辑器。先定义“Base Environment”(全局变量):

{
  "base_url": "http://localhost:3000",
  "token": ""
}

然后在请求URL里用{{base_url}}/users代替完整地址。更爽的是,你可以创建子环境,比如“开发”和“生产”:

// 开发环境
{
  "base_url": "http://localhost:3000"
}
// 生产环境
{
  "base_url": "https://api.example.com"
}

在顶部下拉菜单切换环境,所有请求自动适配,再也不用手动改URL了。

4. 认证和Headers

在请求的“Auth”标签页,可以选择Basic Auth、Bearer Token、OAuth 2.0等。比如用JWT:

  • 选“Bearer Token”
  • 在Token输入框里写{{token}}(假设你已经在环境变量里定义了token值)
  • 发送请求时,Insomnia会自动加上Authorization: Bearer xxx Header

5. 查看响应

响应区默认显示Pretty格式(格式化后的JSON),可以切换到Raw(原始响应)、Headers、Cookies。如果有大段JSON,可以点击左下角“Preview”里的“JSON”或“XML”语法高亮。右键还可以复制路径(比如$.data[0].name),方便写测试断言。

进阶技巧

1. 用“Chain Requests”实现登录态自动管理

很多API需要先登录获取token,再调用其他接口。Insomnia可以这样做:

  • 创建一个“登录”请求,发送POST,获取响应中的token
  • 在登录请求的“Scripts”标签页(其实就是Post-response脚本),写一段JavaScript:
const response = JSON.parse(insomnia.response.getBody().toString());
insomnia.environment.set('token', response.data.token);
  • 其他请求的环境变量{{token}}会自动更新。这样你每次调试只需先点一次登录,后续所有接口自动带上新token。

2. 使用“Code Generator”

写好了请求,想直接生成cURL、Python、Go、JavaScript代码?点击请求右上角的“Code”按钮(</>图标),选择语言和库,一键复制。比如选“Python - http.client”,立刻得到一段可以直接粘贴到脚本里的代码。

3. 单元测试和自动化

Insomnia支持用JavaScript写测试脚本。在请求的“Scripts”标签页的“Test”区域,可以写:

const response = JSON.parse(insomnia.response.getBody().toString());
expect(response.status).to.equal(200);
expect(response.data).to.have.property('id');

然后点击“Run Tests”,所有测试会绿色通过或红色报错。你还可以把多个请求放到一个“Test Suite”里,批量运行。

4. 使用“inso”命令行工具

如果你想把API测试集成到GitHub Actions或Jenkins里,可以安装inso:

npm install -g insomnia-inso

然后运行:

inso run test "用户模块" --env 开发

它会自动执行你Insomnia工作区里的测试用例,输出结果。配合--reporter参数还能生成JUnit或JSON报告。

5. 团队协作(Git同步)

Insomnia支持将工作区导出为Git仓库。点击“Git Sync”按钮,选择“Clone Git Repository”,输入你的项目Git地址。之后团队成员修改请求,你只需要git pull就能同步。因为所有数据都是文件(.json和.yaml),冲突也能用Git解决,比Postman的云端同步更透明。

6. 快捷键

  • Ctrl+N(Mac: Cmd+N):新建请求
  • Ctrl+Enter(Mac: Cmd+Enter):发送请求
  • Ctrl+Shift+F:搜索请求/文件夹
  • Ctrl+D:复制当前请求
  • 在URL输入框按Ctrl+Space:触发变量自动补全

写在最后

Insomnia不是完美的工具——它的插件生态不如Postman丰富,GraphQL订阅功能有时会闪烁,但它的核心体验非常扎实。如果你厌倦了Postman的广告弹窗、臃肿的界面,或者想更贴近代码工作流,强烈建议你花一下午时间把现有项目迁移到Insomnia。

对了,它完全免费(开源版),付费版只多了团队协作和审计日志,个人开发者用免费版完全够。

希望这篇文章能让你少走点弯路。如果有什么Insomnia的骚操作我没写到,欢迎在评论区补充,一起交流。

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消