Sida loo dhiso REST API: Naqshadeynta, Amniga iyo Geynta
Si aad u dhisto REST API, liiska resources ee app-kaagu maamulo (users, orders, bookings), mid kasta u sii URL sida /orders iyo /orders/{id}, oo ficillada u isticmaal HTTP methods: GET si loo akhriyo, POST si loo abuuro, PATCH si loo cusboonaysiiyo, DELETE si loo tirtiro. Soo celi JSON oo leh status codes macno leh, validate input kasta, u baahi authentication iyo hubinta ogolaanshaha qof-qof server-ka, kuna qeybi liisaska. Kadib dokumentiso endpoints-ka oo geli API-ga adigoo isticmaalaya HTTPS.
Hagahan wuxuu daboolayaa go'aannada naqshadeynta, hab shaqo oo waddooyin ah, prompts loogu talagalay AI app builder, iyo khaladaadka keena dhibaatooyinka amniga. Haddii APIs ay kuugu cusub yihiin, bilow waa maxay API.
Goorta aad u baahan tahay REST API
- Frontend-kaaga web-ka wuxuu u baahan yahay inuu xog ka keydiyo oo ka soo raro server
- App mobile, shirkad, ama qalab automation ah wuxuu u baahan yahay gelitaan xogtaada
- Adeegyo kale waxay kuu soo diraan dhacdooyin (webhooks)
- Shaqada waxaad u kala qaybinaysaa kooxda frontend-ka iyo kooxda backend-ka
REST waa habka ugu caansan, laakiin kaliya ma aha. REST vs GraphQL waxa uu sharxayaa goorta endpoint query ah oo kaliya ku habboon.
Naqshadee marka hore: resources iyo routes
Qor magacyada app-kaaga iyo waxa dadku ku sameeyaan. App booking fudud ah:
| Method | Route | Waxa uu sameeyo | Code-ka guusha |
|---|---|---|---|
GET | /api/bookings | Liiska booking-yada qofka (paginated) | 200 |
POST | /api/bookings | Abuur booking | 201 |
GET | /api/bookings/{id} | Hel hal booking | 200 |
PATCH | /api/bookings/{id} | Beddel qaar ka mid ah fields-ka | 200 |
DELETE | /api/bookings/{id} | Jooji booking-ga | 204 |
GET | /api/health | Hubinta caafimaadka ee monitoring | 200 |
Kuwani waxay u dhigmaan create, read, update iyo delete; eeg waa maxay CRUD. Hab-dhaqannada wax ku ool ah ee la raaco:
- Magac-soo-jeedin tirada badan iyo ficil la'aan URL-ka:
/bookings, ma aha/getBookings. - Hal heer oo kaliya ku dheji marka ay caddeyneyso milkiilaha:
/bookings/{id}/notes. - Ficillada aan CRUD ahayn waxa laga dhigi karaa sub-resources:
POST /bookings/{id}/cancelway cadyahay marka loo eego PATCH sixir ah. - Magacyada isku mid ah fields-ka, sida
created_atmeel kasta.
Status codes iyo khaladaad
Isticmaal HTTP codes-ka caadiga ah si macaamiishu u garanayaan waxa dhacay iyagoon qoraal akhrin:
| Code | Macnaha | Markii la isticmaalo |
|---|---|---|
| 200 | OK | Akhris ama cusboonaysiin guuleysatay |
| 201 | Created | POST wuxuu abuuray wax |
| 204 | No Content | Guul aan wax la soo celinayn |
| 400 | Bad Request | Input-ku ma gudbin validation |
| 401 | Unauthorized | Ma gelin ama token khaldan |
| 403 | Forbidden | Waad gashay laakiin lama oggola |
| 404 | Not Found | Ma jiro, ama qofku ma loo ogolaan inuu ogaado inuu jiro |
| 409 | Conflict | Nuqul, ama waqtigaas horay ayaa loo qabtay |
| 429 | Too Many Requests | Xaddidaadda codsiyada ayaa gaadhay |
| 500 | Server Error | Wax bannaanaa dhacay dhinacaaga |
Ku soo celi khaladaad qaab JSON oo isku mid ah, tusaale ahaan {"error": {"code": "slot_taken", "message": "Waqtigaas hadda lama heli karo."}}, mana dhigin jawaabaha stack traces ama khaladaadka database-ka.
Doorashooyin iyo isweydaarsiyo
| Go'aanka | Doorashada fudud | Kale |
|---|---|---|
| Meesha API-ga ku nool | API routes ee web framework-kaaga | Adeeg API gaar ah, waxtar leh marka dhowr client ama luqad kale la isticmaalo |
| Authentication | Session cookies web app-kaaga | Tokens (bearer tokens ama API keys) app-yada mobile iyo dhinacyada saddexaad |
| Pagination | ?page=2&limit=20 | Cursor-based (?after=...), waa degan yahay liisaska waaweyn ee is beddelaya |
| Versioning | Ma jiro ilaa aad leedahay isticmaalayaal dibedda ah | /v1/ path-ka marka dadka kale ay ku tiirsanaadaan |
| Dukumentiyo | README oo liisanaya routes | OpenAPI spec, taas oo qalabyada ka dhigi karaan dukumentiyo iyo client code ah |
Tallaabo tallaabo
- Liiska resources iyo routes sida kor ku qoran, oo ku dar cidda wicitaan kasta u ogol tahay.
- Moodeli xogta database-kaaga oo leh fields-ka iyo xiriirrada aad u baahan tahay.
- Dhis read routes marka hore, kadibna create, update iyo delete.
- Validate input write kasta adigoo isticmaalaya schema library: fields-ka loo baahan yahay, noocyada, dhererka, qiimayaasha la ogol yahay. Diid fields aan la aqoon.
- Ku dar authentication, kadibna authorisation qof-qof: markii la furo
/bookings/42waa in server-ku hubiyo in booking 42 uu qofka wicitaanka ku sameeyey uu leeyahay, kaliya ma aha in qof soo galay. - Pagination ku samee liis kasta oo xaddid tirada bogga.
- Xaddid codsiyada login-ka iyo routes-ka qaaliga ah. Eeg rate limiting.
- Dhig CORS kaliya haddii browser-yada domain kale ay tahay inay wacaan API-ga, oo liis asalka (origins) si cad. Sida loo hagaajiyo CORS errors waxa uu sharxayaa khaladaadka aad arki doontid.
- Qor dukumentiyo iyo tests route kasta, oo ku dar kiisaska fashilka.
- Geli adigoo secrets ku hayo environment variables, HTTPS, logs iyo health check.
Prompts loogu talagalay AI builder-kaaga
Scaffold:
Abuur REST API booking-yada oo leh routes-kaan: GET /api/health, GET /api/bookings (paginated, ugu badnaan 50 bog kasta), POST /api/bookings, GET /api/bookings/:id, PATCH /api/bookings/:id, DELETE /api/bookings/:id. Xogta ku keydi database-keenna. Validate request bodies adigoo isticmaalaya schema library, oo diid fields aan la aqoon. Khaladaadka ku soo celi JSON {"error": {"code", "message"}} oo leh status codes sax ah (400, 401, 403, 404, 409). Secrets ku hay environment variables.
Amni:
Ku qasbi login routes booking kasta. Akhris, cusboonaysiin kasta iyo tirtir kasta, hubi server-ka in booking-ga uu qofka hadda isticmaalaya leeyahay; haddii aanu lahayn ku soo celi 404. Ha aqbalin user IDs ama doorar ka yimid body-ga codsiga. Ku xaddid POST /api/bookings 20 daqiiqadii ee qof kasta. Khaladaadka server-ka ku qor logs, mana soo celin stack traces.
Dukumentiyo:
Qor OpenAPI description oo waddooyinkan ku saabsan, iyo README gaaban oo leh tusaalooyin codsi iyo jawaab kasta.
Tijaabinta API-gaaga
Ka tijaabi meel ka baxsan frontend-ka, sababtoo ah weeraryahanku wuu sidaas samayn doonaa:
- Route kasta wuxuu shaqeeyaa input sax ah wuxuuna soo celinayaa qaabka iyo code-ka la qoray
- Fields maqan ama khaldan waxay soo celinayaan 400 oo leh fariin cad
- Token la'aan waxay soo celinaysaa 401 route kasta oo la ilaaliyo
- Isticmaale A oo codsanaya rikoodhka isticmaale B adigoo ID isticmaalaya wuxuu helayaa 404 ama 403
- Liisaska waa paginated;
limitaad u weyn waa la xaddidaa - Abuurista nuqul ama is-khilaafsan waxay soo celinaysaa 409, ma aha 500
- Xaddidaadda codsiyada waxay soo celinaysaa 429
- Jawaabaha khaladaadka ma laha stack traces, SQL ama secrets
- CORS wuxuu oggolaanayaa kaliya asalka aad rabtay
Khaladaadka caadiga ah
- In la hubiyo login-ka laakiin aan la hubin milkiilaha. Khaladka ugu caansan ee API-ga: isticmaale kasta oo galay wuxuu akhrin karaa rikoodh kasta isagoo beddelaya ID-ga.
- Client-ka oo la aamino. Qiimayaasha, doorarka iyo user IDs ee body-ga codsiga waa la beddeli karaa.
- Soo celinta safafka database-ka oo dhan. Password hashes iyo fields gudaha ah ayaa baxa. Dooro waxa jawaab kasta ku jiri doono.
- Liisaska aan xad lahayn. Hal codsi oo loo baahan yahay rikoodh kasta wuxuu gaabin karaa app-ka oo dhan.
200 OKoo leh fariin khalad ah gudaha. Macaamiishu iyo monitoring-ku ma garan karaan inuu fashilmay.- CORS oo loo dhigay inuu oggolaado wax kasta API-ga cookies isticmaala.
- Health check ama logs la'aan, sidaas darteed waxaad ogaan doontaa dhibaatooyinka isticmaalayaashu marka ay kugu soo sheegaan.
Si aad u sameyso hubin ballaaran ka hor inta aan la furin, eeg liiska amniga ee app-yada AI lagu dhisay.
Dhisidda REST API Mythex-ka
Waxaad Mythex ka codsan kartaa API qayb ka ah app-kaaga ama adeeg gaar ah. Cuntada dukumentiyada REST API backend waxa ku jira prompt bilow ah: magacow framework-kaaga iyo waddooyinkaaga, codso JSON errors cad, secrets ku hay environment variables, oo ku dar Dockerfile. Container backends ee Node, Python, C#, Java iyo kuwo kale waxay ku daabacaan Dockerfile, Mythex-na wuxuu maamulaa geynta Publish-ka (API backends). Mashruuc wuxuu ku shaqayn karaa website iyo API server kuwa isku dhinac ah, waxaadna ku beddeli kartaa preview-ka. Furayaasha waxaad ku kaydin kartaa project secrets, haddii APIga uu u baahan yahay database, waxaad chat-ka ka codsan kartaa. Shaqooyinka joogtada ah ee ku xeeran API-gaaga, eeg sida loo socodsiiyo shaqooyinka asalka ah.
Su'aalaha
Waa maxay REST API?
REST API waa habka barnaamijyadu ku shaqeeyaan xogta app-kaaga iyadoo loo marayo HTTP. Nooc kasta oo xog ah waxa uu leeyahay URL gaar ah, sida /orders, hababka caadiga ahna ayaa ku shaqeeya: GET si loo akhriyo, POST si loo abuuro, PATCH ama PUT si loo cusboonaysiiyo, DELETE si loo tirtiro. Xogta badanaa waxa loo diraa JSON.
Luqad maxaan ku dhisaa REST API?
Isticmaal midka adiga ama kooxdaadu ilaalin karto. Node.js oo leh Express ama Fastify, Python oo leh FastAPI, iyo qaababka C# ama Java dhammaantood waa shaqeeyaan wanaagsan. Qawaaniinta naqshadeynta waddooyinka, status codes, validation iyo authentication way ka muhiimsan yihiin luqadda.
Sidee baan u amni u gelin karaa REST API?
Waxaad u baahan tahay authentication waddo kasta oo aan dadweyne ahayn, server-ka ku hubi in qofka wicitaanka ku sameeya uu ogol yahay inuu galo rikoodhka gaarka ah, validate input oo dhan, isticmaal HTTPS, xaddid codsiyada, oo ku hay secrets-ka environment variables-ka. Ha isku kalsoonaan ID-yada ama doorarka ay client-ku soo diro.
Ma u baahan backend gaar ah REST API?
Had iyo jeer maya. Frameworks sida Next.js waxay sidoo kale u adeegi karaan API routes oo ay ag yaallaan bogagga. Adeeg API gaar ah waa macquul marka dhowr client (web, mobile, shirkado) isticmaalayaan, ama marka uu u baahan yahay luqad ama scaling gaar ah.