跳到主要内容

快速开始

在 Unity 中开发和测试游戏 API 调用,无需等待后端服务。


视频


问题场景

后端未就绪?网络不稳定?需要离线工作?需要测试错误?

  • 后端未准备好 → 自行定义 API 契约,先构建,之后再切换到真实后端
  • 需要测试错误 → 按需配置成功/错误/超时/无效响应
  • 离线开发 → 无网络运行,无需 VPN
  • 分页测试 → 自动循环切换不同响应

将 API 调用路由到:

  • 真实后端(生产、Staging)
  • QA 服务器
  • 本地服务器
  • 模拟响应(自定义状态码、延迟、数据)

API Mocking Toolkit 路由示意图


安装

  1. 打开 Unity Asset Store
  2. 搜索 "API Mocking Toolkit" → Import
  3. 导入所有文件

前提条件: Unity 2021.3+,无外部依赖


示例场景

1. 打开示例场景Assets > CodeCarnage > ApiMockingToolkit > Samples > DemoScene > DemoScene.unity
2. 点击 Play场景加载后显示两个按钮:Get UsersGet Posts
3. 点击 "Get Users"发送请求 → Toolkit 拦截 → 无需网络,立即返回模拟数据
4. 多次点击 "Get Posts"循环切换第 1 → 2 → 3 → 1 页(响应策略演示)

工作原理

打开 DemoController.cs

public async void OnGetUsersClicked()
{
var response = await ApiClient.Get("{{baseUrl}}/users");
DisplayResponse(response);
}

标准 API 调用。{{baseUrl}} 根据当前激活的环境解析。Toolkit 拦截匹配的 URL 并返回您的模拟数据。无需 if (testing) 判断。同一代码在模拟和真实后端下均可运行。


创建您的第一个端点

以 JSONPlaceholder 的 /comments 接口为例,模拟您的游戏 API。使用模拟时离线可用,调用真实 API 时需联网。

1. 打开工具包窗口Window > CodeCarnage > API Mocking Toolkit
2. 创建端点

点击 "+ Endpoint",设置:

3. 添加模拟响应

状态码:201

{
"id": 501,
"postId": 1,
"name": "Demo comment from Unity",
"email": "player@example.com",
"body": "Returned from mock"
}
4. 启用离线模式打开顶部开关
5. 测试
using System.Collections.Generic;
using UnityEngine;
using CodeCarnage.ApiMockingToolkit;

public class ProfileTest : MonoBehaviour
{
async void Start()
{
var requestBody = "{
"postId": 1,
"name": "Demo comment",
"email": "player@example.com"
}";
var headers = new Dictionary<string, string> { { "Content-Type", "application/json" } };
var response = await ApiClient.Post("https://jsonplaceholder.typicode.com/comments", requestBody, headers);
Debug.Log($"Status: {response.StatusCode}");
}
}

后续步骤


故障排查

没有任何反应? 检查离线模式是否已开启,URL 是否完全匹配(区分大小写),查看 Console 中的错误信息。

示例场景无法运行? 确认已选择 "Demo Scene Collection",从 Package Manager 重新导入 Samples。

有疑问? 查阅故障排查 FAQ 或发送邮件至 support@codecarnage.com