Ishga tayyor · Production REST API kontrakti

Daraja: O'rta

Resource modeli, status kod, validation, pagination va barqaror xato formati.

Tushuntirish

## Ishdagi vazifa Frontend va boshqa servislar taxmin qilmaydigan API yaratish. URL resource-ni, HTTP method amal ma’nosini ifodalaydi. Request va response entity emas, alohida DTO bo‘ladi. Validation chegarada ishlaydi; biznes xatosi va texnik xato bir xil 500 bo‘lib ketmaydi.

## Bilish kerak Create odatda 201 va Location, muvaffaqiyatli body-siz delete 204 qaytaradi. Noto‘g‘ri input 400, autentifikatsiya yo‘q 401, huquq yetarli emas 403, topilmadi 404, conflict 409 bo‘lishi mumkin. Katta ro‘yxat pagination, deterministik sort va maksimal size talab qiladi. Error response request trace ID bilan kuzatiladi.

## Ishga tayyor mezon OpenAPI va integration test bir xil contractni isbotlaydi.

Kod misoli

record CreateOrderRequest(@jakarta.validation.constraints.NotEmpty
                          java.util.List<Long> productIds) {}
// POST /api/v1/orders -> 201 Created
// GET  /api/v1/orders?page=0&size=20&sort=createdAt,desc

Keng tarqalgan xatolar

Mashqlar

Teglar: career-02, rest, ishga-tayyor, spring

Interaktiv ko'rinish (viktorina, izohlar, tarix)