საიმედო და გასაგები API იწყება ინტერფეისების მშენებლობის აშკარა წესებით. ჩვენ ვიცავთ REST- ის საუკეთესო პრაქტიკას ისე, რომ თითოეულმა დეველოპერმა იცის რა უნდა ველოდოთ: URL სტრუქტურა ლოგიკურია, მეთოდები შეესაბამება მოქმედებას და შეცდომები მარტივად არის განმარტებული.
ეს ამცირებს შესვლის ბარიერს, ამარტივებს ინტეგრაციას და საშუალებას გაძლევთ სისტემის მასშტაბები ქაოსის გარეშე.
URL და HTTP კონვენციები
| მეთოდი | დანიშვნა | მოთხოვნის მაგალითი |
|---|---|---|
| `GET` | რესურსის მიღება | `GET /users/42` |
| `POST` | ახალი რესურსის შექმნა | `POST /users` |
| `PUT` | რესურსის სრული განახლება | `PUT /users/42` |
| `PATCH` | რესურსის ნაწილობრივი განახლება (ოპერა) `PATCH /users/42` | |
| `DELETE` | რესურსის წაშლა | `DELETE /users/42` |
არსებითი სახელები გამოიყენება მრავლობითში ('/მომხმარებლები ', '/მოწყობილობები', '/თამაშები ')
ჩასმული ელემენტები აღწერილია, როგორც იერარქია ('/users/42/sessions ')
ყველა მოთხოვნა გადის HTTPS
შეცდომის დამუშავების სტანდარტები
| კოდი | მნიშვნელობა | გზავნილის მაგალითი |
|---|---|---|
| `400` | არასწორი მოთხოვნა | `Missing required field: email` |
| `401` | Neavatorizovan | `Invalid token or expired session` |
| `403` | აკრძალულია წვდომა | `Access denied to resource` |
| `404` | ვერ მოიძებნა | `User with ID 42 not found` |
| `409` | კონფლიქტი (მაგალითად, დუბლირება) | `Email already in use` |
| `422` | ვალიდაციის შეცდომა | `Field 'age' must be a number` |
| `500` | სერვერის შიდა შეცდომა | `Unexpected exception, contact support` |
json
{
"error": {
"code": 400, "message": "Missing required field: email", "details": {...}
}
}უპირატესობები დეველოპერებისთვის
API ლოგიკის სწრაფი გაგება ზედმეტი დოკუმენტაციის გარეშე
ერთიანი მიდგომა ყველა მოდულისა და არსის მიმართ
მარტივი გამართვა და ლოგიზაცია სტანდარტული კოდებისა და ფორმატების გამო
თავსებადობა OpenAPI/Swagger- თან, Postman- თან, SDK- ის ავტომატიზაციასთან
მხარდაჭერის გამარტივება, ტესტირება და CI/CD
სადაც განსაკუთრებით მნიშვნელოვანია
პლატფორმები ღია ან პარტნიორი API
პროექტები რამდენიმე განვითარების გუნდთან
მიკრო სერვისების არქიტექტურა ან API-first მიდგომა
დიდი რაოდენობით ერთეულებისა და ურთიერთქმედების მქონე სისტემები
ერთი კონვენცია API- ს საიმედო, გასაგებ და მოსახერხებელ გახდის. ჩვენ ვიცავთ საუკეთესო REST პრაქტიკას ისე, რომ თითოეული ინტეგრაცია სწრაფად მოხდეს, გაუგებრობის გარეშე და მაქსიმალური პროგნოზირებადი.