# WireMock

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com.cn/help/idea/llms.txt).

IntelliJ IDEA 支持 [WireMock](https://www.wiremock.io/what-is-wiremock)，一种用于模拟 HTTP 服务的工具。 模拟涉及创建存根或设置 API 调用的响应，以模仿真实的 API 行为，而无需实际的服务器通信。

Procedure: 安装 WireMock 插件

此功能依赖于 [WireMock](https://plugins.jetbrains.com/plugin/23695-wiremock) 插件，您需要安装并启用该插件。

> **Note:**
> 如果没有 Ultimate 订阅，IntelliJ IDEA 中无法使用 WireMock 插件。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `插件` 。

2. 找到  WireMock  插件，然后点击   安装  。 如果出现提示，请重启 IDE。

## 创建 WireMock 存根

Procedure: 从头开始创建基本的 WireMock 存根

如果 JSON 文件放置在   映射   文件夹中或包含  `"mappings"`  键，IntelliJ IDEA 会将其识别为 WireMock stub 文件，并提供相应的编码支持。

1. 在   项目   工具窗口中，右键点击文件夹（或按 `Alt+Insert` (Windows), `⌘ N` (macOS), `⌃ N` (IntelliJ IDEA Classic (macOS)), `⌘ N` (macOS System Shortcuts), `Alt+Insert` (XWin), `Alt+Insert` (GNOME), `Alt+Insert` (KDE), `Alt+Insert` (Emacs), `Ctrl+N` (Sublime Text), `⌘ N` (Sublime Text (macOS)), `Ctrl+N` (Visual Studio), `⌘ N` (Visual Studio (macOS)), `Alt+Insert` (NetBeans), `Alt+Insert` (Eclipse), `⌘ N` (Eclipse (macOS))），然后选择  `新建 | 文件` 。

2. 在打开的   新建文件   对话框中，输入文件名。 例如，您可以输入  `mappings/my-stub.json` ，IntelliJ IDEA 会创建   映射   文件夹，并将新文件放入其中。

3. 开始键入一个键以获取适用键及其快速文档的建议。

![Wiremock 编码辅助](https://resources.jetbrains.com.cn/help/img/idea/2026.3/wiremock_coding_assistance.png)

Procedure: 从 Endpoints 工具窗口创建 WireMock 存根

1. 打开   端点   工具窗口 (  `视图 | 工具窗口 | 端点` )。

2. 右键点击一个 endpoint 并选择   生成 WireMock 存根  。

![从端点创建 WireMock 存根](https://resources.jetbrains.com.cn/help/img/idea/2026.3/wiremock_stub_from_endpoints.png)

新的存根文件会作为 [临时文件](scratches.html) 保存在  `临时文件与控制台 | WireMock 存根`  下。

Procedure: 从 OpenAPI 规范创建 WireMock 存根

1. 打开一个 OpenAPI 规范文件。

2. 点击 ![](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app-client.expui.gutter.run.svg) 并选择   生成 WireMock 存根  。

![从端点创建 WireMock 存根](https://resources.jetbrains.com.cn/help/img/idea/2026.3/wiremock_stub_from_openapi_specification.png)

新的存根文件会作为 [临时文件](scratches.html) 保存在  `临时文件与控制台 | WireMock 存根`  下。

Procedure: 运行 WireMock 服务器

1. 请打开您的存根文件。

2. 请点击 ![运行 WireMock](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app-client.expui.webReferences.server.svg)，该按钮位于编辑器的右上角。

![运行 WireMock](https://resources.jetbrains.com.cn/help/img/idea/2026.3/wiremock_start_from_stub.png)

这会启动 WireMock 服务器，并可在   服务   工具窗口中看到其正在运行（  `查看 | 工具窗口 | 服务`  或按 `Alt+8` (Windows), `⌘ 8` (macOS), `⌘ 8` (IntelliJ IDEA Classic (macOS)), `⌘ 8` (macOS System Shortcuts), `Alt+8` (XWin), `Alt+8` (GNOME), `Alt+8` (KDE), `Alt+8` (Emacs), `Alt+8` (Sublime Text), `⌘ 8` (Sublime Text (macOS)), `Alt+8` (Visual Studio), `Alt+8` (Visual Studio (macOS)), `Alt+8` (NetBeans), `Alt+8` (Eclipse), `⌘ 8` (Eclipse (macOS))）。

![服务中的 WireMock](https://resources.jetbrains.com.cn/help/img/idea/2026.3/wiremock_running_in_services_tool_window.png)

要自定义 IntelliJ IDEA 启动 WireMock 服务器的方式，您可以 [修改 WireMock 运行配置](#wiremock-run-configuration) 或创建一个新的配置。

Procedure: 发送 HTTP 请求

使用 IntelliJ IDEA [HTTP 客户端](http-client-in-product-code-editor.html) 向 WireMock 服务器发送 HTTP 请求并预览响应。

1. [运行 您的 WireMock 服务器。](#run-wiremock-server)

2. 打开您的存根 JSON 文件。

3. 将文本光标放在您的端点 URL 处，按 `Alt+Enter` (Windows), `⌥ ⏎` (macOS), `⌥ ⏎` (IntelliJ IDEA Classic (macOS)), `⌥ ⏎` (macOS System Shortcuts), `Alt+Enter` (XWin), `Alt+Enter` (GNOME), `Alt+Enter` (KDE), `Alt+Enter` (Emacs), `Alt+Enter` (Sublime Text), `⌥ ⏎` (Sublime Text (macOS)), `Alt+Enter` (Visual Studio), `⌥ ⏎` (Visual Studio (macOS)), `Alt+Enter` (NetBeans), `Ctrl+1` (Eclipse), `⌘ 1` (Eclipse (macOS)) (   显示上下文操作​​  )，然后选择   在 HTTP 客户端中生成请求  。

您可以在   服务  工具窗口中查看存根响应。

![对 WireMock 存根的 HTTP 请求](https://resources.jetbrains.com.cn/help/img/idea/2026.3/wiremock_send_http_request.gif)

Procedure: 启用对 Handlebars 模板的支持

IntelliJ IDEA 为 WireMock 响应模板中使用的模板语言提供编码辅助。 要使用此功能，需要安装并启用 [Handlebars/Mustache](https://plugins.jetbrains.com/plugin/6884-handlebars-mustache) 插件。

1. 打开您的存根 JSON 文件。

2. 在编辑器右上角，点击 ![](https://resources.jetbrains.com.cn/help/img/idea/2026.3/handlebarsJson.svg)（   使用 Handlebars 模板  ）。 如果未安装 [Handlebars/Mustache](https://plugins.jetbrains.com/plugin/6884-handlebars-mustache) 插件，该操作会安装它。

这会使 IntelliJ IDEA 将放置在  `__files`  目录中的 JSON 文件视为响应模板，并提供相应的 Handlebars 编码辅助，包括 [Handlebars 帮助程序](https://wiremock.org/docs/response-templating/#handlebars-helpers) 的补全。

![启用对 Handlebars 模板的支持](https://resources.jetbrains.com.cn/help/img/idea/2026.3/wiremock_handlebars.png)

## WireMock 运行配置

> **TL;DR**
> 创建：  `运行 | 编辑配置 |`  ![添加新配置](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.add.svg)  `| WireMock`

IntelliJ IDEA 随附专用的   WireMock   运行配置，可用于自定义 WireMock 服务器的启动方式。

![WireMock 运行配置](https://resources.jetbrains.com.cn/help/img/idea/2026.3/wiremock_run_configuration.png)

### 主要参数

名称
: 为运行配置指定一个名称。

存根文件
: 运行 WireMock 存根的 JSON 文件位置。

服务器端口
: WireMock 服务器的 HTTP 端口号。 输入  `0`  以动态确定端口。

### 修改选项

详细输出
: 打开详细日志记录到 stdout（等同于  `--verbose`  选项）。

启用全局 Handlebars 模板化
: 通过传递  `--global-response-templating`  [WireMock 命令行选项](https://wiremock.org/docs/standalone/java-jar/#command-line-options)，使用 Handlebars 模板渲染所有响应定义。

JRE
: 如果您希望在与 JBR 不同的运行环境中运行 WireMock，请选择一个 JRE。

#### 日志

指定运行应用程序时生成的哪些日志文件应显示在 [运行](run-tool-window.html) 工具窗口专用选项卡的控制台中。

#### 启动前

选择在启动所选运行/调试配置之前要执行的任务。

