يُعَدّ UniRest مجموعة من المكتبات مفتوحة المصدر مصممة خصيصًا لتبسيط التواصل عبر بروتوكول HTTP (بروتوكول نقل النصوص التشعبية) لعدد من لغات البرمجة، مثل بايثون، جافا، و .NET.
منصة تطوير واجهة البرمجة التي تستحق النظر هي Apidog، وهي حل شامل لمشكلات واجهة البرمجة الخاصة بك. مع Apidog، يمكنك ليس فقط رؤية استجابات واجهة البرمجة، ولكن أيضًا تعديل جسمها، واختبارها، والتأكد من أن كل شيء يسير بسلاسة.
للتعرف على المزيد حول Apidog، انقر على الزر أدناه!
ما هو UniRest؟

يُعرف UniRest بأنه مجموعة أدوات مفتوحة المصدر تهدف إلى تخفيف التعقيدات المرتبطة بتفاعلات HTTP ضمن مجال تطوير البرمجيات. تشمل المكتبات المصممة لعدد من لغات البرمجة، بما في ذلك بايثون، جافا، و .NET، يُبسط UniRest عملية صياغة طلبات HTTP والتعامل مع الاستجابات.
يحقق UniRest أهدافه من خلال واجهة مستخدم مركزية تبسط مهام مثل إرسال البيانات، وإدارة الحمولة JSON، وتسهيل التواصل غير المتزامن. من خلال تقديم نهج أكثر كفاءة لتفاعلات HTTP، يمكّن UniRest المطورين من تسريع دورات التطوير وإنتاج تطبيقات تتمتع بقدرات تواصل محسّنة.
ما هي استخدامات UniRest؟
يبحث المطورون عن UniRest في سيناريوهات مثل:
بناء التطبيقات الويب
يُبسط UniRest التواصل بين تطبيقك ومجموعة من الخدمات الويب، مثل استرجاع بيانات المستخدم من خوادم الخلفية أو إرسال معلومات إلى بوابة الدفع. يُعالج UniRest طلبات HTTP والاستجابات، مما يسمح لك بالتركيز على منطق التطبيق.
استهلاك واجهات البرمجة
تعتمد العديد من التطبيقات الحديثة على واجهات البرمجة (API) للوصول إلى البيانات والوظائف. يقدّم UniRest بطريقة ملائمة وسيلة للتفاعل مع هذه الواجهات، مما يسمح للمطورين بإرسال طلبات مع معلمات محددة والتعامل مع البيانات المستلمة بسلاسة.
تكامل البيانات
يتفوق UniRest في دمج البيانات من مصادر مختلفة، مثل سحب معلومات المنتج من منصة التجارة الإلكترونية أو استرجاع بيانات الطقس من واجهة برمجة الطقس. يُسهل UniRest هذه التحويلات البيانات، مما يمكّن المطورين من دمج المعلومات من مصادر متنوعة داخل تطبيقاتهم.
اختبار خدمات الويب
يُعتَبَر UniRest أداة قيمة لاختبار خدمات الويب. يستخدمها المطورون لمحاكاة أنواع مختلفة من الطلبات والتحقق من الاستجابات المتوقعة، مما يضمن عمل خدمات الويب كما هو مقصود.
كيف تُعدّ UniRest؟
هناك بعض الخطوات التي يجب اتخاذها قبل أن تتمكن من استخدام مكتبة العميل UniRest.
في هذه المقالة، سنستخدم لغة البرمجة جافا.
إعداد Maven
أولاً، أضف الاعتماديات اللازمة إلى كود جانب العميل الخاص بك. يجب أن يبدو كالتالي:
<dependency>
<groupId>com.mashape.unirest</groupId>
<artifactId>unirest-java</artifactId>
<version>1.4.9</version>
</dependency>إرسال طلبات HTTP
لتتعرف على إطار عمل UniRest، ألقِ نظرة على هذا المثال البسيط لطلب HTTP:
نسخة بسيطة
@Test
public void shouldReturnStatusOkay() {
HttpResponse<JsonNode> jsonResponse
= Unirest.get("http://www.mocky.io/v2/5a9ce37b3100004f00ab5154")
.header("accept", "application/json").queryString("apiKey", "123")
.asJson();
assertNotNull(jsonResponse.getBody());
assertEquals(200, jsonResponse.getStatus());
}ومع ذلك، قد تكون واجهات البرمجة أكثر تعقيدًا، تتضمن المزيد من العناصر مثل الترويسات والمعلمات. لتمرير هذه المتغيرات في الطلب، يمكنك إنشاء خريطة، كما هو موضح في مقتطف الكود أدناه:
نسخة معقدة
@Test
public void shouldReturnStatusAccepted() {
Map<String, String> headers = new HashMap<>();
headers.put("accept", "application/json");
headers.put("Authorization", "Bearer 5a9ce37b3100004f00ab5154");
Map<String, Object> fields = new HashMap<>();
fields.put("name", "سام بايلدونغ");
fields.put("id", "PSP123");
HttpResponse<JsonNode> jsonResponse
= Unirest.put("http://www.mocky.io/v2/5a9ce7853100002a00ab515e")
.headers(headers).fields(fields)
.asJson();
assertNotNull(jsonResponse.getBody());
assertEquals(202, jsonResponse.getStatus());
}قائمة طرق طلب UniRest
يقدم UniRest طرقًا منفصلة لكل طريقة HTTP متاحة.
طريقة POST في UniRest
Unirest.post("قم بإدخال نقطة النهاية هنا")
طريقة PUT في UniRest
Unirest.put("قم بإدخال نقطة النهاية هنا")
طريقة GET في UniRest
Unirest.get("قم بإدخال نقطة النهاية هنا")طريقة DELETE في UniRest
Unirest.delete("قم بإدخال نقطة النهاية هنا")
طريقة PATCH في UniRest
Unirest.patch("قم بإدخال نقطة النهاية هنا")
طريقة OPTIONS في UniRest
Unirest.options("قم بإدخال نقطة النهاية هنا")
استخراج بيانات الاستجابة
يقدم UniRest حلًا لاستخراج استجابة واجهة البرمجة في شكل دوال عبر كود العميل.
رمز الحالة والرسالة
jsonResponse.getStatus()
الترويسات
jsonResponse.getHeaders();جسم الاستجابة
//يعود بجسم مُحلل
jsonResponse.getBody();
//يعود باستجابة غير مُحللة
jsonResponse.getRawBody();سرّع تطوير الكود مع Apidog
نظرًا لأن UniRest يحتوي على مكتباته المنفذة بمختلف لغات البرمجة، فإن من الضروري أن تفهم كيفية إنشاء الكود لتتمكن من التفاعل مع واجهات البرمجة. لحسن الحظ، هناك أداة API تُسمى Apidog قادرة على توليد كود جانب العميل خلال ثوانٍ.

بعيدًا عن توليد كود العميل ذي الصلة، يقدم Apidog للمطورين جميع الأدوات اللازمة لتصميم، اختبار، محاكاة، وتوثيق واجهات البرمجة. دعونا نتحقق من كيفية تقديم Apidog قيمة للمطورين!
توليد كود عميل جافا مع Apidog
يقدم Apidog للمطورين واجهة مستخدم بسيطة ولكن بديهية، مما يسمح بالتكيف السريع مع بيئة تطوير جديدة.

أولاً، تأكد من تحميل Apidog، وأنك قد أنشأت مشروعًا جديدًا. يمكنك بدء عملية توليد كود العميل من خلال العثور على زر </> في الزاوية العلوية اليمنى من نافذة Apidog.

بعد ذلك، اختر لغة البرمجة التي ترغب في توليد كود لها. حيث أن هذه المقالة تدور حول إطار عمل UniRest في جافا، سنقوم بتوليد كود جافا. الآن، كل ما عليك فعله هو نسخ الكود ولصقه في بيئة تطويرك المتكاملة (IDE)!
اختبار واجهات البرمجة السابقة مع Apidog
هل لديك واجهات برمجة أخرى ترغب في اختبارها قبل نشرها أو مشاركتها مع الآخرين؟ إذا كانت إجابتك نعم، تحقق من كيفية اختبار واجهات البرمجة الخاصة بك بسرعة باستخدام Apidog!

ابدأ بتوفير نقطة النهاية لواجهة البرمجة في الشريط أعلى الصفحة، كما هو موضح بالسهم في الصورة أعلاه، تأكد من تضمين أي تفاصيل إضافية مطلوبة بواسطة تلك النقطة المحددة (تسمى هذه بالمعلمات).
إذا كنت غير متأكد من استخدام معلمات متعددة في URL، يمكن أن توجهك هذه المقالة حول كيفية الوصول إلى المورد المحدد ضمن مجموعات البيانات الأكبر!


بمجرد أن تكون متأكدًا من واجهة البرمجة الخاصة بك، يمكنك النقر على إرسال، مما يرسل الطلب إلى واجهة البرمجة. يجب أن تتوقع استجابة كاملة. لمحة على رمز الحالة تخبرك إذا كانت العملية ناجحة. يمكنك أيضًا فحص الاستجابة الخام، التي تُظهر الهيكل الدقيق للبيانات التي يحتاج كودك لفهم المعلومات من خوادم واجهة البرمجة.
الخاتمة
يظهر UniRest كحل مثير للمطورين الذين يسعون لتبسيط تفاعلات HTTP ضمن مشاريعهم. من خلال تقديم مجموعة من المكتبات مفتوحة المصدر المتوافقة مع لغات البرمجة المختلفة، يمكّن UniRest المطورين من بناء تطبيقات فعالة وقوية.
تُترجم قدرته على تبسيط نقل البيانات، واستهلاك الواجهات البرمجية، والتواصل غير المتزامن إلى دورات تطوير أسرع وتطبيقات قادرة على التفاعل بسلاسة مع الخدمات الخارجية. مع استمرار تطور مشهد تطوير البرمجيات، من المؤكد أن موقف UniRest كأداة قيمة لتصميم تطبيقات حديثة قائمة على البيانات سيتعزز.
