API 레퍼런스
코드 레퍼런스 및 예제.
목차
빠른 레퍼런스
API 호출 수행
using CodeCarnage.ApiMockingToolkit;
// GET
var response = await ApiClient.Get("https://api.example.com/data");
// POST
var response = await ApiClient.Post("https://api.example.com/data", "{\"key\":\"value\"}");
// PUT
var response = await ApiClient.Put("https://api.example.com/data/123", "{\"key\":\"updated\"}");
// PATCH
var response = await ApiClient.Patch("https://api.example.com/data/123", "{\"key\":\"patched\"}");
// DELETE
var response = await ApiClient.Delete("https://api.example.com/data/123");
모든 메서드는 선택적 headers와 CancellationToken을 허용:
var headers = new Dictionary<string, string> {
{ "Authorization", "Bearer {{token}}" }
};
var cts = new CancellationTokenSource();
var response = await ApiClient.Get(
"https://api.example.com/me",
headers,
cts.Token
);
응답 처리
if (response.Success) {
// 성공 - Status 200-299
var data = JsonUtility.FromJson<MyData>(response.Body);
Debug.Log($"Data: {data}");
} else {
// 오류 - Status >= 400 (또는 전송 실패)
Debug.LogError($"Error {response.StatusCode}: {response.Body}");
}
오프라인 모드
OfflineMode는 ApiGlobalConfig ScriptableObject의 직렬화된 필드입니다.
API Mocking Toolkit 창 또는 Inspector에서 전환:
// 런타임에서 현재 상태 읽기
var config = Resources.Load<ApiGlobalConfig>("ApiGlobalConfig");
if (config.OfflineMode) {
Debug.Log("Running in offline mode");
}
런타임 API는 읽기 전용입니다. 코드에서 값을 변경하려면 (Editor 전용) 에셋에서
SerializedObject/EditorUtility.SetDirty를 사용하세요; 프로퍼티에 직접 할당하지 마세요.
환경
// 환경 매니저 가져오기
var envManager = EnvironmentManager.Instance;
// 활성 환경 전환
envManager.ActiveEnvironment = devEnvironment;
// 변수 해석 (활성 환경 우선, 그 다음 전역)
string baseUrl = envManager.ResolveVariable("baseUrl");