إنتقل إلى المحتوى الرئيسي

البدء السريع

يوضح هذا الدليل كيفية إنشاء مثال طلب قابل للتنفيذ والعثور على المولدات المتاحة.

1. التثبيت​

npm install @powerduck/openapi-codegen

2. الإنشاء من مستند​

مرّر مستند OpenAPI بعد تحليله مع path وmethod وlanguage وclient المطلوبة. تعيد generate() الشيفرة المصدرية كسلسلة نصية.

import { generate } from "@powerduck/openapi-codegen";
import document from "./openapi.json" with { type: "json" };

const code = generate({
document,
path: "/pets/{id}",
method: "get",
language: "javascript",
client: "fetch",
});

console.log(code);

المثال المكافئ باستخدام CommonJS:

const { generate } = require("@powerduck/openapi-codegen");
const fs = require("node:fs");

const document = JSON.parse(fs.readFileSync("./openapi.json", "utf8"));

const code = generate({
document,
path: "/pets",
method: "post",
language: "python",
client: "requests",
});

console.log(code);

3. عرض المولدات المتاحة​

تعيد list() واصفات جميع المولدات المسجلة:

import { list } from "@powerduck/openapi-codegen";

for (const { language, client } of list()) {
console.log(`${language}/${client}`);
}

صيغة كل واصف هي { language: string; client: string }. المعرّفات حساسة لحالة الأحرف؛ استخدم القيم كما ترد تمامًا في قائمة المولدات ضمن مرجع API. مرجع API.

يمكنك أيضًا اختيار مولد برمجيًا:

import { generate, list } from "@powerduck/openapi-codegen";

const picked = list().find(
(g) => g.language === "javascript" && g.client === "fetch",
);

if (!picked) throw new Error("Generator not available");

const code = generate({
document,
path: "/pets",
method: "get",
language: picked.language,
client: picked.client,
});

4. توفير بيانات الاعتماد​

استخدم securityValues لتوفير قيم مخططات الأمان المسماة. يجب أن تطابق المفاتيح أسماء المخططات في المستند:

const code = generate({
document,
path: "/pets/{id}",
method: "get",
language: "javascript",
client: "fetch",
securityValues: {
bearerAuth: "YOUR_ACCESS_TOKEN",
apiKey: "YOUR_API_KEY",
},
});

5. تجاوز عنوان URL للخادم​

const code = generate({
document,
path: "/pets",
method: "get",
language: "shell",
client: "curl",
serverUrl: "https://staging.example.com/v1",
});

معالجة الأخطاء​

ترمي generate() استثناءً عند نقص المدخلات أو عدم دعم المولد. التقط الاستثناءات عند معالجة مستندات غير موثوقة:

try {
const code = generate({
document,
path: "/pets/{id}",
method: "get",
language: "javascript",
client: "fetch",
});
console.log(code);
} catch (error) {
console.error("Generation failed:", error instanceof Error ? error.message : error);
}

الخطوات التالية​

  • الإعدادات — GenerateOptions, RequestIR, Generator, Plugin.
  • أمثلة — JavaScript fetch وPython requests وcURL ومولد مخصص وإضافة واستخدام RequestIR مباشرةً.
  • مرجع API — جميع العناصر المصدّرة.