تخطي إلى المحتوى

JSON Schema / tsoa شروح كلمة رئيسية

تحت الغطاء OpenAPI ويعتمد اعتماداً كبيراً على مشروع " جون شيما " (JON Schema) لجميع مواصفات نماذج البيانات. JSON يحدد مشروع " شيما " (Schema Draft 00) أنواع البيانات التي لا تنفذ في TypeScript. مثال عظيم هو البثور إذا كنا نريد أن نبلغ أن عددا يجب أن يكون ثلاجة، tsoa وسيحدد ذلك في منظمة الدول الأمريكية ويصدق على الطلبات الواردة ضد ذلك.

WARNING

كما هو الحال دائماً

بشكل عام JSDoc ويتشابه الإشعار في كل مرة:

@<keyword> <argument>* <rejectionMessage>?

أمثلة:

typescript
interface CustomerDto {
    /**
     * @isInt we would kindly ask you to provide a number here
     * @minimum 18 minimum age is 18
     */
    age: number;
    /**
     * @minItems 1 at least 1 category is required
     */
    tags: string[];
    /**
     * @pattern ^(.+)@(.+)$ please provide correct email
     */
    email: string;
}

TIP

بالنسبة للبارامترات، استخدام @<keyword> <paramName> <argument>* <rejectionMessage>? (سينتاكس) JSDoc (يضحك) descriptions أو examples)

List of supported keywords (with arguments)

Click here for the list of keywords supported by OpenAPI 3

الوراثة

  • @default- @format

DANGER

Formats will generally not be validated, except for format: date(time)التي ستتولد تلقائياً من نوع TS Date.

التاريخ

  • @isDateTime <errMsg> وضع رسائل خاطئة
  • @isDate <errMsg> وضع رسائل خاطئة
  • @minDate <errMsg>- @maxDate <errMsg>

العدد

  • @isInt <errMsg> ♪tsoa خاص** بما أن TS لا تعرف النبتر كنوع
  • @isFloat <errMsg> ♪tsoa خاص** بما أن TS لا تعرف العوامة كنوع
  • @isLong <errMsg>- @isDouble <errMsg>- @minimum <number> <errMsg>- @maximum <number> <errMsg>- @exclusiveMinimum <number> <errMsg>- @exclusiveMaximum <number> <errMsg>

للمواصفات المتولدة Swagger 2.0 OpenAPI 3.0 emit boolean exclusiveMinimum / exclusiveMaximum معوّلات إلى جانب minimum / maximumبينما OpenAPI 3.1 emmeric exclusiveMinimum / exclusiveMaximum قيم مباشرة

String

  • @isString <errMsg> وضع رسائل خاطئة
  • @minLength <number> <errMsg>- @maxLength <number> <errMsg>- @pattern <regex> <errMsg>

Array

  • @isArray <errMsg> وضع رسائل خاطئة
  • @minItems <number> <errMsg>- @maxItems <number> <errMsg>- @uniqueItems <errMsg>

Polean

  • @isBoolean <errMsg> وضع رسائل خاطئة

Contributors

No contributors

Changelog

No recent changes

توليد OpenAPI وتوليد المسارات والتحقق وقت التشغيل مع اعتماد TypeScript أولاً.