Ain模板文件语法详解:8大Section从[Host]到[Backend]一次看懂.ain格式的完全指南 Ain模板文件语法详解8大Section从[Host]到[Backend]一次看懂.ain格式的完全指南【免费下载链接】ainA HTTP API client for the terminal项目地址: https://gitcode.com/gh_mirrors/ai/ainAin 是一款运行在终端里的 HTTP API 客户端是 Postman、Paw、Insomnia 的命令行替代品。它的核心是.ain模板文件一种用 8 大 Section[Host]、[Query]、[Backend] 等描述调哪个接口、用什么方法、带哪些参数的纯文本格式。本文带你完整看懂 .ain 语法——每个 Section 怎么写、跨文件时是追加还是覆盖、变量与命令如何嵌入一次建立对模板格式的全部认知。.ain 模板文件长什么样10 秒上手一个 .ain 文件就是若干段落标题 内容行。下面是一个涵盖全部 8 大 Section 的完整示例[Host] https://dummyjson.com/product/${ID} [Query] limit10 [Headers] Content-Type: application/json [Method] GET [Body] { title: New title } [Config] Timeout5 [Backend] curl [BackendOptions] -sS首次使用推荐先用 Ain 自带的模板生成器运行ain -b basic-template.ain它会检测系统里可用的后端curl / wget / httpie并生成一个可直接运行的起点文件再用ain basic-template.ain --vars PORT8080发起请求即可。8大Section速查表跨文件是追加还是覆盖Ain 允许一次传入多个模板文件数据按 Section 合并。理解每个 Section 的合并策略是掌握 .ain 格式的关键Section作用跨文件行为必填[Host]API 地址域名 路径追加 append✅[Query]查询参数? 后面的键值对追加 append[Headers]请求头追加 append[Method]HTTP 方法 GET/POST/PATCH…覆盖 overwrite[Body]请求体原样发送覆盖 overwrite[Config]Ain 自身配置覆盖 overwrite[Backend]调用引擎 curl / wget / httpie覆盖 overwrite✅[BackendOptions]透传给后端命令的选项追加 append 几条通用规则Section 名称不区分大小写、忽略前后空白约定俗成用 CamelCase 左对齐书写同一个文件里不能重复定义同一个 Section段落内容到下一个 Section 开始或文件结尾为止每行内容中#之后都是注释会被忽略只有[Host]和[Backend]是必填的其余按需书写。Section 的完整定义可以在源码 internal/pkg/parse/sections.go 中看到语法测试集见 grammars/tests.ain。逐个拆解从 [Host] 到 [BackendOptions][Host]唯一必填的地址段写完整 URL 的任意部分多行会拼接成一个地址。经典用法基础文件里只写域名具体接口文件里只写路径例如http://localhost:3000/api/auth/login。最终 URL 会自动做 URL 编码整个模板组合后必须是一个且仅一个有效地址。[Query]自动拼接查询参数每行一个keyvalueAin 会用分隔符默认可在[Config]里用QueryDelim自定义连接后追加到 URL 末尾并自动 URL 编码。page3与page 3等价空格会被编码为。适合把多个接口共用的参数如API_KEYxxx放进一个基础文件。[Headers]一行一个请求头[Headers] Authorization: Bearer $(./get-jwt-token.sh) Content-Type: application/json注意这里可以直接嵌入可执行命令动态生成 Token见下文。[Method]不写就默认 GET写POST、PATCH、DELETE等省略时走后端默认curl / wget / httpie 都是 GET。[Body]原样发送的请求体内容会保留格式、去掉首尾空行后写入临时文件再以文件形式交给后端发送。两个实用细节加-l参数可保留临时文件加-p参数只打印不执行时请求体会落盘为ain-body随机数文件方便把命令分享出去后仍能复现。[Config]Ain 专属开关只有两个参数都不区分大小写参数写法说明超时Timeout10单位秒覆盖整个执行过程不写则不超时。唯一不允许使用可执行命令的 Section查询分隔符QueryDelim;拼接 [Query] 行时用的分隔符默认[Backend]选择 curl、wget 或 httpie三选一决定实际发请求的引擎。可以用ain -b生成模板时自动探测本机装了哪个并帮你选上。[BackendOptions]透传给后端的原始选项每行一个选项原样拼到后端命令里。例如给 curl 加-sS去掉进度条[Backend] curl [BackendOptions] -sS # 管道中禁用进度条变量与可执行命令让模板活起来 这是 .ain 格式最强大的两处能力环境变量${VAR}模板里${ID}会从环境中取值替换。值来自 shell 环境、当前目录的.env文件或命令行--vars ID123--vars优先级最高且在所有模板文件名之后书写。可执行命令$(命令 参数)命令的 STDOUT 会替换掉整个表达式例如Authorization: Bearer $(bash -c ./get-login.sh | jq -r .token)就能自动换取 JWT。替换顺序是先环境变量、后可执行命令所以命令里还能引用${VAR}且每类都只替换一次。多文件组合实战base.ain 组织你的 API 项目利用追加 / 覆盖策略可以把 API 组织成文件夹层级。例如仓库示例里 examples/dummyjson.com/advanced/base.ain 定义公共部分[Host] https://dummyjson.com/ [Backend] curl [Config] Timeout5 [BackendOptions] -sS具体接口只写差异部分如 examples/dummyjson.com/advanced/products/add.ain[Host] products/add [Method] POST [Body] { title: New title }两条命令组合即可ain examples/dummyjson.com/advanced/base.ain examples/dummyjson.com/advanced/products/add.ain[Host] 追加拼出完整地址[Backend]、[Body] 等由具体文件覆盖——这就是 .ain 格式文件即 API 集合的设计精髓。更多示例见 examples/dummyjson.com/simple/ 目录。注释、转义与常见坑3 个符号要记牢符号含义想要字面量时#注释反引号转义#${环境变量${$(可执行命令$(其他高频要点URL 编码路径和查询参数自动编码已编码的保持原样需要字面的和%时请手动写成%2B、%25排错模板写错时 Ain 会报 Fatal 错误并给出文件名、行号和上下文请求发不出去就加-p查看最终生成的 curl/wget/httpie 命令文件名结尾加!可先用编辑器修改再运行如ain get-post.ain!。核心文件速查想深入源码或找更多样例从这些入口开始Section 解析逻辑internal/pkg/parse/sections.go语法测试集含各种大小写/转义边界情况grammars/tests.ain简单示例examples/dummyjson.com/simple/get-product-by-id.ain进阶示例base 具体接口组合examples/dummyjson.com/advanced/官方完整文档README.md一句话总结.ain 格式 8 个 Section 描述怎么调接口 ${}/$()注入动态值 多文件按追加/覆盖策略组合。看懂这张速查表你就能直接上手管理自己的 API 模板库了。【免费下载链接】ainA HTTP API client for the terminal项目地址: https://gitcode.com/gh_mirrors/ai/ain创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

live555 生成 Visual Studio 工程

live555 生成 Visual Studio 工程

1,安装Visual Studio 工程 如 Visual Studio 2022,建议安装包含「使用 C 的桌面开发」工作负载,以便后续编译 Live555 相关工程。下载地址:Visual Studio 官网,选择 Community 版本即可免费使用。安装时勾选「使用 C …

2026/8/26 16:01:29
告别 Demo 陷阱!2026 企业 BI 与决策智能选型指南

告别 Demo 陷阱!2026 企业 BI 与决策智能选型指南

2026年,BI市场正在经历一场从「看数」到「问数」、再到「决策」的集体跃迁。几组数据勾勒出这场转变的烈度:IDC数据显示,2025年中国BI软件市场规模达13.2亿美元,连续6年保持25%以上的同比增速,贡献了亚太地区65%以上的…

2026/8/26 16:01:29
模块4 微信小程序开发用户界面-项目2 界面功能实现-任务2 从OneNet平台获取数据

模块4 微信小程序开发用户界面-项目2 界面功能实现-任务2 从OneNet平台获取数据

基于STM32的物联网环境监测与远程控制系统实训套件-淘宝网 任务2 从OneNet平台获取数据 一、任务描述 本任务基于微信小程序,结合任务 1 生成的鉴权 Token,调用 OneNET 物联网平台 标准 HTTP 接口,实现小程序向云端请求设备上报的温度、湿…

2026/8/26 16:01:29
元初混沌体系 第三卷 卫星互联网全域周天拓扑体系:第二十五篇 低轨星间激光/微波双链路拓扑架构

元初混沌体系 第三卷 卫星互联网全域周天拓扑体系:第二十五篇 低轨星间激光/微波双链路拓扑架构

第二十五篇 低轨星间激光/微波双链路拓扑架构承启前置 架构立论前文第十九至二十四篇已完整完成低轨周天接入层空间几何拓扑全维度定型:周天网格奠定球面曲率自适应基底,单轨八卦环形排布锁定微观对称稳态,多轨交错相位实现全域正交错峰&…

2026/8/26 16:01:29
企业微信管理难题何解?

企业微信管理难题何解?

当“离职带走客户”成为常态,当“删聊天记录”变成潜规则,你的企业微信真的安全吗?📌 前言企业微信已从“内部IM”进化为“客户经营主阵地”,但随之而来的数据失控、客户流失、合规风险,正成为管理者的三座…

2026/8/26 16:01:29
微信投票平台全链路防刷技术详解:七层防御架构原理与落地应用

微信投票平台全链路防刷技术详解:七层防御架构原理与落地应用

防刷能力是专业投票平台的核心基础能力之一,才谷网投票作为全场景通用型专业投票平台,搭载七层全链路交叉防刷体系,基于弹性分布式架构落地,已在政企、金融、校园、商业等全行业多场景应用验证。平台具备 ICP 与公安网安双备案&am…

2026/8/26 15:56:28