빠른 시작
이 가이드에서는 UI용 클라이언트, 스크립트용 디버거, 장기 수동 세션이라는 세 진입점을 차례로 설명합니다.
사전 요구 사항
- Node.js 22.12.0 이상
- JavaScript 객체로 불러온 OpenAPI 3.2 문서
1. UI용 클라이언트
createClient(options?)는 ProtoClient를 반환합니다. 선택적 인수인 options는 명세에 결과를 다시 기록하는 방식과 응답 정규화를 제어합니다.
import { createClient } from "@powerduck/openapi-request";
// Create a client (options are optional)
const client = createClient({
writeBack: {
// Optional: control how responses are merged back into the spec
mergeExamples: true,
},
response: {
// Optional: control how response objects are normalized
preserveOriginalBody: false,
},
});
요청 준비
prepare(sendOptions)는 spec과 target을 포함하는 SendOptions 객체를 받아 프로토콜, 표시 모드, 스트림 종류를 설명하는 PreparedRequest를 반환합니다.
const spec = {
openapi: "3.2.0",
info: { title: "Example API", version: "1.0.0" },
paths: {
"/users/{id}": {
get: {
operationId: "getUserById",
parameters: [
{ name: "id", in: "path", required: true, schema: { type: "string" } },
],
responses: { "200": { description: "OK" } },
},
},
},
};
// Target by operationId (recommended)
const plan = client.prepare({
spec,
target: { operationId: "getUserById" },
});
// Or target by method + path
const plan2 = client.prepare({
spec,
target: { method: "GET", path: "/users/{id}" },
});
console.log(plan.protocol); // "http"
console.log(plan.display.mode); // "response"
console.log(plan.stream.kind); // "none"