"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تقديم طلبات HTTP POST وGET مصادق عليها إلى واجهات برمجة التطبيقات التابعة لجهات خارجية في SpringBoot

كيفية تقديم طلبات HTTP POST وGET مصادق عليها إلى واجهات برمجة التطبيقات التابعة لجهات خارجية في SpringBoot

تم النشر بتاريخ 2024-11-08
تصفح:800

How to make authenticated HTTP POST and GET requests to third-party APIs in SpringBoot

مقدمة

يعد Spring Boot إطار عمل Java قويًا يعمل على تبسيط عملية تطوير البرامج من خلال توفير مجموعة شاملة من الأدوات والاتفاقيات. سهولة الاستخدام، إلى جانب الميزات القوية، تجعله خيارًا شائعًا لكل من التطبيقات الصغيرة والكبيرة. عند إنشاء التطبيقات، تكون هناك حاجة في بعض الأحيان إلى استخدام واجهات برمجة التطبيقات التابعة لجهات خارجية داخل تطبيقك.

هناك عدة طرق لتقديم طلبات إلى واجهات برمجة التطبيقات في Spring Boot والتي تتضمن استخدام RestTemplate وWebSocket وApache HttpClient وOkHttp وFeignClient. يعتمد اختيار الطريقة غالبًا على المتطلبات المحددة لتطبيقك. في هذه المقالة، سنركز على كيفية إجراء طلبات POST وGET مصادق عليها إلى واجهات برمجة التطبيقات التابعة لجهات خارجية باستخدام RestTemplate.

ما هو RestTemplate؟

RestTemplate هو عميل متزامن يقدمه Spring ويوفر واجهة برمجة تطبيقات مباشرة وبديهية لإرسال طلبات HTTP ومعالجة الاستجابات. إنها حزمة في Spring مضمنة في تبعية Spring Web. أساليبها سهلة الفهم، مما يجعلها في متناول المطورين من جميع مستويات المهارة.

كيفية تقديم طلب POST مصادق عليه

لتوضيح كيفية تقديم طلب POST مصادق عليه، دعنا نفكر في سيناريو حيث نقوم بإنشاء تطبيق محفظة يحتاج إلى إنشاء حساب عبر واجهة برمجة تطبيقات تابعة لجهة خارجية على https://api.example.com/create.

متطلبات:

تتطلب واجهة برمجة التطبيقات ما يلي:

  • العناوين: حامل التفويض
  • معلمات الجسم: الاسم، البريد الإلكتروني، bvn

خطوات

  1. إنشاء كائن RestTemplate.
  2. إعداد رؤوس HTTP: قم بإنشاء رأس يحمل رمز التفويض باستخدام HttpHeaders.
  3. إنشاء HttpEntity: قم بإنشاء كائن HttpEntity باستخدام نص الطلب المتوقع ورأس HTTP.
  4. قم بإجراء طلب POST: استخدم طريقة postForObject الخاصة بـ RestTemplate لإرسال الطلب.

رمز المثال

String url = "https://api.example.com/create";

RestTemplate restTemplate = new RestTemplate();

HttpHeaders httpHeaders = new HttpHeaders();

httpHeaders.setBasicAuth(token);

HttpEntity httpEntity = new HttpEntity(requestBody, httpHeaders);

// Response from the API server
String responseObject = restTemplate.postForObject(url, httpEntity, String.class);

باستخدام هذا الإعداد، يمكنك بنجاح تقديم طلب POST إلى واجهة برمجة التطبيقات (API)، بشرط أن يكون الرمز المميز صالحًا.

كيفية تقديم طلب GET مصادق عليه

لإجراء طلب GET مصادق عليه، سنستخدم طريقة التبادل في RestTemplate.

رمز المثال

String url = "https://api.example.com/balance";

HttpHeaders httpHeaders = new HttpHeaders();

httpHeaders.setBasicAuth(token);

HttpEntity httpEntity = new HttpEntity(httpHeaders);

// Response from the API server
String responseObject = restTemplate.exchange(url, HttpMethod.GET, httpEntity, String.class).getBody();

باتباع هذه الخطوات، ستتمكن من تقديم طلب GET إلى واجهة برمجة التطبيقات (API) بشرط أن يكون الرمز المميز الخاص بك صالحًا.

خاتمة

في هذه المقالة، تناولنا كيفية إجراء طلبات POST وGET مصادق عليها لواجهات برمجة التطبيقات التابعة لجهات خارجية باستخدام RestTemplate الخاص بـ SpringBoot. من خلال الاستفادة من RestTemplate، يمكنك بسهولة تكوين طلباتك لتشمل رؤوس المصادقة الضرورية.

ملاحظات إضافية

  • تأكد دائمًا من تخزين البيانات الحساسة مثل مفاتيح API وكلمات المرور بشكل آمن، باستخدام متغيرات البيئة أو ملفات التكوين المشفرة.
  • فكر في استكشاف خيارات أخرى مثل WebClient للبرمجة التفاعلية أو FeignClient لعملاء واجهة برمجة التطبيقات التعريفية في التطبيقات الأكثر تعقيدًا.

تابع حساباتي على وسائل التواصل الاجتماعي لمزيد من المقالات:
انقر وتابع على

  • لينكد إن
  • تغريد
  • تطوير
  • واسطة
بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/iamsherif/how-to-make-authenticated-http-post-and-get-requests-in-springboot-ai7?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ Study_golang @163.com حذف
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3