Mock Server 30초 — JSON이 OData 서버로 #shorts #SAP #UI5
Moderator
이 글이 답하는 질문
- 백엔드 없이 UI5 앱을 개발하고 싶다면?
- MockServer.simulate()이 실제로 어떻게 동작하나?
직접 해보기
1. MockServer 초기화
// webapp/localService/mockserver.js
sap.ui.define([
"sap/ui/core/util/MockServer"
], function (MockServer) {
"use strict";
return {
init: function () {
const oServer = new MockServer({
rootUri: "/sap/opu/odata/sap/ZCATALOG_SRV/"
});
MockServer.config({
autoRespond: true,
autoRespondAfter: 300
});
oServer.simulate(
"../localService/metadata.xml",
{ sMockdataBaseUrl: "../localService/mockdata" }
);
oServer.start();
}
};
});
2. Test Data JSON 구조
엔티티셋 이름과 동일한 파일을 mockdata/ 폴더에 배치하면 simulate()가 자동으로 읽어들입니다.
// mockdata/ProductSet.json
{
"d": {
"results": [
{ "ProductID": "P001", "ProductName": "키보드", "Price": "89000" },
{ "ProductID": "P002", "ProductName": "모니터", "Price": "450000" }
]
}
}
자주 만나는 함정
- rootUri 슬래시: 끝에
/누락 시 요청이 매핑 안 됨 - 파일명 대소문자: metadata.xml과 엔티티셋명 대소문자가 완전히 일치해야 함
핵심 한 줄
simulate() 한 줄이면 metadata.xml + JSON 파일만으로 CRUD 전 구간이 오프라인에서 동작한다.