APIGit
2023-04-28
如果您在存儲庫中創建了自己的規範,那麼恭喜!您現在可以自動生成模擬服務器。為此,只需導航到存儲庫中的“模擬服務器腳本”,然後單擊側邊欄頂部的箭頭圖標。這將顯示以下指令集:
從 API 規範生成模擬服務器腳本
在上一步中單擊箭頭圖標後,您將看到為您生成了整個路由腳本。
根據 API 規範模擬服務器腳本
感謝強大的自動 Mock Server 工具,您將收到幾個與 API 規範相關的腳本。但是,需要注意的是,部署 Mock Server 只需要幾行代碼。
//this script should be in main.js
mock.define("/", "GET", function (req, res) {
res.send(200, "welcome to apigit mock server");
});
在“main.js”文件中,您會發現各種與 API 規範相關的路由函數。為了進一步測試,您可以在此文件中自由定義其他功能。
使用 Dynamic MockServer,開發人員可以為不同的端點創建多個場景,每個場景都有不同的響應數據、標頭和狀態代碼。這允許開發人員在各種場景和條件下測試他們的應用程序,確保它們在不同情況下按預期工作。
在 Apigit 平台上部署動態模擬服務器是一個簡單的過程。通過定義數組列表並在其中添加、更新或搜索,您可以根據之前發送的請求接收響應。
//all routes should be defined in main.js)
// global state
state.users = state.users || []
// create a user
mock.define("/user", "POST", function (req, res) {
var user = req.body;
if (user.username === "") {
res.send(405, "Invalid input");
return;
}
user.id = uniqueId(); // generate uniqueID for the new user
state.users.push(user);
res.send(200, user);
});
// find user by name
mock.define("/user/{username}", "GET", function (req, res) {
var user = null;
for (var i = 0; i < state.users.length; i++) {
if (state.users[i].username == req.params.username) {
user = state.users[i];
break;
}
}
if (user === null) {
res.send(404, "User not found");
return;
}
res.send(200, user);
});
為確保您的腳本保持井井有條且易於理解,建議您在“main.js”文件中定義所有路由。但是,如果您希望讓您的代碼更加模塊化,您可以通過單擊“+”圖標並將回調函數添加到新文件來創建一個新的路由文件。文件結構將如下所示:
//main.js
var pet = require("./routes/pet.js")
// define the routes callback in seperated files
// pet
mock.define("/pet", "PUT", pet.updatePet); // update an existing pet
並在另一個文件中定義回調函數。
//./routes/pet.js
// global state
state.pets = state.pets || []
exports.updatePet = function (req, res) {
var pets = state.pets || [];
var pet = req.body;
var i = 0;
for (i = 0; i < pets.length; i++) {
if (pets[i].id == pet.id) {
pets[i] = pet;
state.pets = pets;
break;
}
}
if (i === pets.length) { // menas not found the pet
res.send(404, 'Pet not found');
return;
}
res.send(200, pet);
};
有關完整示例,您可以訪問Github.
要使用您創建的模擬服務器,您必須首先發布腳本。腳本發布後,您可以在“模擬服務器”部分找到服務器地址。 您可以通過訪問繼續探索模擬服務器腳本Automatic generation of Ready-to-Use Mockservers 或者Mock Server API Definition.