استكشاف الأخطاء وإصلاحها
عند عدم وجود ملفات تم إنشاؤها أو نقص في route/type، يتم التحقق من الإعدادات وشكل الكود الداعم بالتسلسل.
ترتيب التحقق
• تحقق مما إذا كان @Profile("local") مدرجًا في ملف التعريف الفعلي.
• تحقق مما إذا كانت استثناءات runner.start() لم تحدث في وحدة التحكم المحلية.
• تحقق مما إذا كانت rootPath و routerPackage و entityPackage و handlerOutputDir في المواقع الصحيحة بعد تحويل النقاط/الشرطات.
• تحقق مما إذا كانت دليل المصدر الذي تم إنشاؤه مدرجًا في مجموعة مصادر IDE وأداة البناء.
• أضف نوع الوحدة النمطية المشتركة الخارجية إلى فئة jar المفككة أو مسار المصدر.
• تحقق مما إذا كانت RouterFunction تدعم شكل المسار السلس/التعشيش ومرجع طريقة المعالج.
مسار النقطة ومسار الشريحة
يقوم التكوين بتطبيع . إلى / في إدخالات المسار المتعددة. يمكن استخدام سلسلة الحزمة ومسار نظام الملفات بشكل مختلط، ولكن يجب التحقق من الفرق بين الإعداد الذي يضع المسار الكامل مثل src.main.java.com.example... والإعداد الذي يضع فقط حزمة com.example....
إعادة إنتاج إعداد المسارات
import com.byeolnaerim.watch.route.HandlerGenerator;
var handlerConfig = HandlerGenerator.Config.builder()
.rootPath("src/main/java")
.routerPackage("com.example.web.router")
.handlerPackage("com.example.web.handler")
.handlerOutputDir("src/main/java/com/example/web/handler")
.build();
System.out.println(handlerConfig.routerDir());
// src/main/java/com/example/web/router/نفّذ من جذر المشروع وتحقق من أن routerDir المطبوع يحتوي على مصدر الراوتر. تضمين src/main/java في routerPackage يكرر المسار. مرّر هذا الإعداد إلى handlerConfig في runner ثم شغّل باستخدام ملف local من Quick Start. يمثل handlerPackage اسم حزمة Java، ويمثل handlerOutputDir دليل الإخراج الفعلي.
test -d src/main/java/com/example/web/router
find src/main/java/com/example/web/handler -name '*.java'
# Quick Start swaggerOutputFile:
test -s src/main/resources/static/swagger.jsonإذا كانت المسارات صحيحة ولم يظهر إخراج، فابدأ بأول استثناء من runner.start(). أعد الإنتاج بمسار واحد بسيط يستخدم مرجع handler::method، وافحص الملفات المولّدة ثم أضف مساراتك الحالية. وجود swagger.json وحده لا يكفي: قارن مسار الطلب وطريقة HTTP في paths بعقد الاستجابة الفعلي.
إعادة إنشاء غير محدودة
يكتب كاتب Swagger الملف فقط عند تغيير المحتوى. ومع ذلك، إذا حدثت توليدات متكررة، تحقق مما إذا كان ملف الإخراج مدرجًا في watchDirectory، أو إذا كان المهيئ أو مراقب آخر يغير المصدر الناتج باستمرار.