You are on page 1of 23

‫ما هي ‪ API‬وأفضل املمارسات لتطويرها‬

‫نبذة عين‬
‫أهداف العرض‬
‫• تعريف ال ‪API‬‬
‫• أنواع ال ‪API‬‬
‫• أفضل املمارسات يف ال ‪API‬‬
‫• استخدام ال ‪Caching‬‬
‫• محاية ال ‪JSON Web Token (JWT) API‬‬
‫• كيفية توثيق وعرض ال ‪OpenAPI Specification. (Swagger( API‬‬
API ‫تعريف ال‬

Application
Programming
Interface
Web service APIs
• SOAP
• REST
WebSocket APIs

Class-based APIs (object orientation)


• Java API
• Android API
API ‫أنواع ال‬
OS functions
• Access to file system
• Access to hardware
Hardware APIs
• Raspberry Pi API
‫أفضل املمارسات يف ال ‪Rest API‬‬
‫جللب معلومات عنصر حمدد أو جمموعة عناصر‬ ‫‪GET‬‬

‫إلنشاء سجل جديد لعنصر جمموعة عناصر يف قواعد البيانات‬ ‫‪POST‬‬


‫استخدام ‪HTTP Method‬‬
‫لتحديث بيانات عنصر يف قواعد البيانات‬ ‫‪PUT‬‬

‫‪ DELETE‬حلذف بيانات عنصر أو جمموعة عناصر من قواعد البيانات‬


‫استخدام مجع األمساء وليس األفعال‬
/getAllCars
/createNewCar
/deleteAllRedCars

GET POST PUT


Resource DELETE
read create update
Returns a list of Create a new Bulk update of
/cars Delete all cars
cars car cars
Returns a Method not Updates a Deletes a
/cars/5
specific car allowed (405) specific car specific car
‫ للعالقات‬Sub-resources ‫استخدم‬
• GET /cars/5/colors/ Returns a list of colors for car 5
• GET /cars/5/colors/4 Returns color #4 for car 5

API ‫استخدم اإلصدارات للـ‬


• www.domain.com/api/V1/Orders
• www.domain.com/api/V2/Orders
HTTP Status Codes ‫استخدم‬

201 – Created – New 202 – Accepted – Used 204 – No Content –


200 – OK – Everything is
resource has been for actions that take a There is no information
working
created long time to process. to send back

403 – Forbidden – The


401 – Unauthorized – 404 – Not found – There
400 – Bad Request – The server understood the
The request requires an is no resource behind
request was request, but the access
user authentication the URI.
is not allowed.

500 – Internal Server


Error – for a server error
that the client can't
really work around.
‫استخدم ‪ camelCase‬ألمساء احلقول‬
‫حتقق من البيانات دائما‬
Caching Cache-Control header in your HTTP response.

‫تقليل وقت االستجابة‬


‫تقليل احلمل على اخلوادم‬
JSON Web Token
‫ما هو ‪Json Web Token‬‬

‫• هي جمموعة من الرموز إىل حد ما تشبه كلمة املرور هذه الرموز عبارة عن جمموعة بيانات بصيغة ‪JSON‬‬
‫وثم مت حتويلها إىل صيغة ‪ Base64‬ويتم توقيعها إلكرتونيا باستخدام ‪ HMAC algorithm‬أو ‪RSA‬‬

‫مكونات ‪Json Web Token‬‬

‫‪Header‬‬ ‫‪Payload‬‬ ‫‪Signature‬‬


‫‪Header‬‬

‫• يتكون الـ ‪ header‬من قسمني األول هو نوع ال ‪ token‬وهو ‪ JWT‬والقسم الثاني هو عبارة نوع التشفري‬
‫‪ HMAC SHA256‬أو ‪RSA‬‬
‫‪Payload‬‬
‫• القسم الثاني يف الـ ‪ Token‬حيتوي على ال ‪ claims‬وهي معلومات عن املستخدم او أي معلومات‬
‫أخرى‪.‬‬
‫‪Signature‬‬
‫• الستخراج التوقيع جيب اخذ ال ‪ Header‬و ‪ payload‬والنص السري ومن ثم تشفريها‪.‬‬
Json Web Token ‫كيف تعمل الـ‬
‫توثيق وعرض ال ‪(Swagger( API‬‬
‫)؟‬The OpenAPI Specification( Swagger ‫ما هو‬

API ‫• هو عبارة عن أداة تساعد بعمل صفحة ويب لشرح وتوضيح الـ‬

Swagger Editor Swagger UI


‫شكراً‬

You might also like