اذهب إلى المحتوى

السؤال

نشر

السلام عليكم 

هذا ال API

https://jsonplaceholder.typicode.com/posts

أنا احاول ان اعمل له Post ..

فى البداية عندما اقوم بعمل get له فان عدد الاوبجكتس التى تظهر لى 100 .. قمت باختباره بواسطة ال postman وعلمت له Post كانت النتيجة انه يقوم باضافة اوبجكت واحد مؤقتا ويتم حذفه حيث يصير عدد الاوبجكتس 101 وعندما اعمل get مرة اخرى يرجع عددهم 100 مرة ثانية !! .. اى ان الذى اضفته تم حذفه.

الاكواد ناجحة لاننى جربتها على mockAPIs ونجحت لكن هذا ال Api لاينفع ولا يحذف ايضا مع ان ال response تكون ناجحة لكن لا اعرف لماذا لا تتغير الداتا بداخله .. 

اريد ان اعرف هل هناك موقع او اداة اخرى تمكننى من معرفة ال Endpoints التى يدعمها ال API سواء كانت get, post, delete, put وغيره .. وشكرا مقدما 

Recommended Posts

  • 1
نشر

هذه الخدمة jsonplaceholder تدعم ال get, post, delete, put  ولكن لا تقوم بحفظها على السيرفر أي أنه يمكنك عمل POST وسينتج لك response يحتوي على البينات التي قمت بإضافتها ولكن إذا قمت بعدها بعمل get لن تظهر لك هذه البيانات لأنها لا تحفظ على السيرفر ويمكنك التأكد من ذلك في الموقع الخاص بال api من هنا

 

  • 1
نشر

ال api تجريبي فقط أي أنه يحاكي مبدأ ال crud operation لكن البيانات لا تحفظ في قاعدة البيانات الخاصة بال api ويمكنك وهذا امر متفهم لأن ملايين المستخدمين يجربون الapi وقاعدة البيانات تحتوي فقط على 100 توثيق مخزنة داخلها من طرف مطوري ال api وأظن أن الكود المستعمل لديهم يمكن محاكاته

هذا مثال ال post request الذي يضعونه

fetch('https://jsonplaceholder.typicode.com/posts', {
  method: 'POST',
  body: JSON.stringify({
    title: 'foo',
    body: 'bar',
    userId: 1,
  }),
  headers: {
    'Content-type': 'application/json; charset=UTF-8',
  },
})
  .then((response) => response.json())
  .then((json) => console.log(json));

فاذا كان ال api مثلا مبني ب expressjs سيقومون بشئ مشابه لهذا 

var express = require('express')
var app = express()

app.post('/posts', function (req, res) {
  //البيانات التي أرسلتها لهم
  const tempData = req.body
  
  //يستعملون تقنية مستخدمة للاتصال بقاعدة البيانات وجلب البوستس المخزنين
  const posts = getPosts()
  //يضيفون بياناتك الى البوستس
  posts.push(tempData)
  
  //ثم ترجع لك البيانات وكأنك عملت بوست ريكواست وخزنت البيانات في قاعدة اليانات
  res.json(posts)
})

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...