انتقل إلى المحتوى
أمين أبوزيد
درس مخطط لهJNR-034-L03

من انتهاكات القيود إلى أخطاء API

  • الدرس 3 من 5
  • Junior
في هذا الدرس 4 موضوعات

هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.

نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.

في هذا الدرس

return meaningful HTTP errors for violations.

الموضوعات المخطط لها

  • A violation reaches Spring as DataIntegrityViolationException (for example DuplicateKeyException).
  • Duplicates mean 409 Conflict; invalid data means 400 or 422.
  • Catch it in one place: a @RestControllerAdvice or the service where you can act.
  • Read the constraint name from the cause to choose the message (verify the exception path for your driver version).
  • Never leak SQL text to the client; use the problem-details format from earlier modules.
تفاصيل المخطط المبدئي

عرض عملي

java
@ExceptionHandler(DataIntegrityViolationException.class)
ProblemDetail conflict(DataIntegrityViolationException e) {
    return ProblemDetail.forStatusAndDetail(HttpStatus.CONFLICT, "SKU already exists");
}

اختبر فهمك

Which HTTP status for a duplicate SKU?

أظهر الإجابة

409 Conflict.

التطبيق

طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.

المختبر والتمارين الاختبار

تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.

اكتب للبحث في المستويات والمراحل والوحدات والدروس.