ขอสันติสุข พระพร และความเมตตาของพระเจ้าจงมีแด่ท่าน
เมื่อไม่นานมานี้ ฉันลองใช้ dental pearls API
แต่ฉันประสบปัญหาบางอย่าง รวมถึง API
ที่เกี่ยวข้องกับ JSONP เท่านั้น และคุณจะไม่สามารถจัดการกับมันได้ตามปกติเนื่องจาก CORS
หากคุณหลีกเลี่ยง CORS
ได้สำเร็จโดยใช้ JSONP
คุณจะได้รับเอาต์พุตในรูปแบบ HTML
นอกจากนี้ ยังไม่มี documentation
หรือเอกสารที่อธิบายรายละเอียดของ API
นี้และวิธีจัดการกับมัน
ฉันตัดสินใจสร้าง API
ตัวกลางเพื่อหลีกเลี่ยงปัญหา CORS
และให้ข้อมูลในรูปแบบ JSON
พร้อมกับคำอธิบายโดยละเอียดของ API
และวิธีการใช้งาน
นอกจากจะมีคุณสมบัติเพิ่มเติมบางอย่างที่ไม่พบใน API
อย่างเป็นทางการแล้ว
cache
เป็นเวลา 5
วินาที100
ต่อวันต่อ IP
คุณสามารถแก้ไขได้จากไฟล์ config.js
fork
หรือ clone
โปรเจ็กต์นี้dependencies
npm install
API
npm start
API
จะพร้อมใช้งานที่ลิงก์ต่อไปนี้ http://localhost:5000
localhost
ตามที่คุณต้องการ หรืออัปโหลดไปยังโฮสต์หรือเซิร์ฟเวอร์ของคุณเอง ลิงค์: บุรุษไปรษณีย์
Postman
เพื่อเรียนรู้วิธีทำงานกับ API
และดูตัวอย่างfork
collection
ไปใช้ได้ตามใจชอบenvironment
เป็น dev
และคุณสามารถเปลี่ยนลิงก์สำหรับตัวแปร {{url}}
ได้หากคุณเปลี่ยนหรือเปลี่ยน port
หากต้องการดูเอกสาร API แบบโต้ตอบ:
เรียกใช้เซิร์ฟเวอร์:
npm run dev
เปิดเบราว์เซอร์ของคุณแล้วไปที่:
http://localhost:5000/api-docs
ที่นี่คุณจะพบ Swagger UI ที่ให้คุณสำรวจตำแหน่งข้อมูลที่มีอยู่ทั้งหมดและทดสอบ API ได้โดยตรงจากเบราว์เซอร์
API
มีชุด endpoint
endpoint
เริ่มต้นด้วย /api
มันจะค้นหาผ่าน Durar Al-Suniya API
อย่างเป็นทางการendpoint
เริ่มต้นด้วย /site
นี่คือวิธีการค้นหาผ่านหน้าค้นหา Durar Al-Sunniyya การค้นหาสุนัตให้ผลลัพธ์ 15
รายการ
จัดรูปแบบการตอบกลับเป็น JSON
{
"metadata" : {
"length" : " عدد نتائج البحث " ,
"page" : " رقم الصفحة " ,
"removeHTML" : " هل عناصر الـ HTML ممسوحة أم لا " ,
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : [
{
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"book" : " الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة "
}
]
}
การค้นหาสุนัตให้ผลลัพธ์ 30
รายการ
จัดรูปแบบการตอบกลับเป็น JSON
{
"metadata" : {
"length" : " عدد نتائج البحث " ,
"page" : " رقم الصفحة " ,
"removeHTML" : " هل عناصر الـ HTML ممسوحة أم لا " ,
"specialist" : " نوع الاحاديث هل هي للمتخصصين أم لا " ,
"numberOfNonSpecialist" : " عدد الأحاديث لغير المتخصصين " ,
"numberOfSpecialist" : " عدد الأحاديث للمتخصصين " ,
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : [
{
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"mohdithId" : " رقم المحدث " ,
"book" : " الكتاب " ,
"bookId" : " رقم الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة " ,
"explainGrade" : " توضيح درجة الصحة " ,
"takhrij" : " تخريج الحديث في كتب أخرى " ,
"hadithId" : " رقم الحديث لاستخدامه في البحث عن الأحاديث البديلة أو الحديث البديل الصحيح " ,
"hasSimilarHadith" : " هل الحديث له أحاديث مشابهة أم لا " ,
"hasAlternateHadithSahih" : " هل الحديث له حديث صحيح بديل أم لا " ,
"similarHadithDorar" : " رابط الأحاديث المشابهة في موقع الدرر " ,
"alternateHadithSahihDorar" : " رابط الحديث الصحيح في موقع الدرر " ,
"urlToGetSimilarHadith" : " رابط لكي تبحث عن الأحاديث المشابهة " ,
"urlToGetAlternateHadithSahih" : " رابط لكي تبحث عن الحديث الصحيح " ,
"hasSharhMetadata" : " هل الحديث له شرح أم لا " ,
"sharhMetadata" : {
"id" : " رقم الشرح " ,
"isContainSharh" : " هل يحتوى هذا الرد على شرح الحديث أم لا؟ " ,
"urlToGetSharh" : " رابط لكي تبحث عن شرح الحديث "
}
}
]
}
มันนำบทสนทนาที่คล้ายกันมาให้คุณซึ่งสอดคล้องกับ id
จัดรูปแบบการตอบกลับเป็น JSON
{
"metadata" : {
"length" : " عدد نتائج البحث " ,
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : [
{
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"mohdithId" : " رقم المحدث " ,
"book" : " الكتاب " ,
"bookId" : " رقم الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة " ,
"explainGrade" : " توضيح درجة الصحة " ,
"hadithId" : " رقم الحديث لاستخدامه في البحث عن الأحاديث البديلة أو الحديث البديل الصحيح " ,
"hasSimilarHadith" : " هل الحديث له أحاديث مشابهة أم لا " ,
"hasAlternateHadithSahih" : " هل الحديث له حديث صحيح بديل أم لا " ,
"similarHadithDorar" : " رابط الأحاديث المشابهة في موقع الدرر " ,
"alternateHadithSahihDorar" : " رابط الحديث الصحيح في موقع الدرر " ,
"urlToGetSimilarHadith" : " رابط لكي تبحث عن الأحاديث المشابهة " ,
"urlToGetAlternateHadithSahih" : " رابط لكي تبحث عن الحديث الصحيح " ,
"hasSharhMetadata" : " هل الحديث له شرح أم لا " ,
"sharhMetadata" : {
"id" : " رقم الشرح " ,
"isContainSharh" : " هل يحتوى هذا الرد على شرح الحديث أم لا؟ " ,
"urlToGetSharh" : " رابط لكي تبحث عن شرح الحديث "
}
}
]
}
มันนำบทสนทนาที่สอดคล้องกับ id
มาให้คุณ
จัดรูปแบบการตอบกลับเป็น JSON
{
"metadata" : {
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : {
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"mohdithId" : " رقم المحدث " ,
"book" : " الكتاب " ,
"bookId" : " رقم الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة " ,
"explainGrade" : " توضيح درجة الصحة " ,
"hadithId" : " رقم الحديث لاستخدامه في البحث عن الأحاديث البديلة أو الحديث البديل الصحيح " ,
"hasSimilarHadith" : " هل الحديث له أحاديث مشابهة أم لا " ,
"hasAlternateHadithSahih" : " هل الحديث له حديث صحيح بديل أم لا " ,
"similarHadithDorar" : " رابط الأحاديث المشابهة في موقع الدرر " ,
"alternateHadithSahihDorar" : " رابط الحديث الصحيح في موقع الدرر " ,
"urlToGetSimilarHadith" : " رابط لكي تبحث عن الأحاديث المشابهة " ,
"urlToGetAlternateHadithSahih" : " رابط لكي تبحث عن الحديث الصحيح " ,
"hasSharhMetadata" : " هل الحديث له شرح أم لا " ,
"sharhMetadata" : {
"id" : " رقم الشرح " ,
"isContainSharh" : " هل يحتوى هذا الرد على شرح الحديث أم لا؟ " ,
"urlToGetSharh" : " رابط لكي تبحث عن شرح الحديث "
}
}
}
มันนำสุนัตที่ถูกต้องมาให้คุณซึ่งสอดคล้องกับ id
จัดรูปแบบการตอบกลับเป็น JSON
{
"metadata" : {
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : {
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"mohdithId" : " رقم المحدث " ,
"book" : " الكتاب " ,
"bookId" : " رقم الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة " ,
"hadithId" : " رقم الحديث لاستخدامه في البحث عن الأحاديث البديلة أو الحديث البديل الصحيح " ,
"hasSimilarHadith" : " هل الحديث له أحاديث مشابهة أم لا " ,
"hasAlternateHadithSahih" : " هل الحديث له حديث صحيح بديل أم لا " ,
"similarHadithDorar" : " رابط الأحاديث المشابهة في موقع الدرر " ,
"urlToGetSimilarHadith" : " رابط لكي تبحث عن الأحاديث المشابهة " ,
"hasSharhMetadata" : " هل الحديث له شرح أم لا " ,
"sharhMetadata" : {
"id" : " رقم الشرح " ,
"isContainSharh" : " هل يحتوى هذا الرد على شرح الحديث أم لا؟ " ,
"urlToGetSharh" : " رابط لكي تبحث عن شرح الحديث "
}
}
}
เพื่อค้นหาคำอธิบายหะดีษบทเดียวโดยใช้ id
จัดรูปแบบการตอบกลับเป็น JSON
{
"metadata" : {
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : {
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"book" : " الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة " ,
"takhrij" : " تخريج الحديث في كتب أخرى " ,
"hasSharhMetadata" : " هل الحديث له شرح أم لا " ,
"sharhMetadata" : {
"id" : " رقم الشرح " ,
"isContainSharh" : " هل يحتوى هذا الرد على شرح الحديث أم لا؟ " ,
"urlToGetSharh" : " رابط لكي تبحث عن شرح الحديث " ,
"sharh" : " شرح الحديث "
}
}
}
เพื่อค้นหาคำอธิบายหะดีษบทหนึ่งตามวิธีการของข้อความที่กำหนด
จัดรูปแบบการตอบกลับเป็น JSON
{
"metadata" : {
"specialist" : " نوع الاحاديث هل هي للمتخصصين أم لا " ,
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : {
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"book" : " الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة " ,
"takhrij" : " تخريج الحديث في كتب أخرى " ,
"hasSharhMetadata" : " هل الحديث له شرح أم لا " ,
"sharhMetadata" : {
"id" : " رقم الشرح " ,
"isContainSharh" : " هل يحتوى هذا الرد على شرح الحديث أم لا؟ " ,
"urlToGetSharh" : " رابط لكي تبحث عن شرح الحديث " ,
"sharh" : " شرح الحديث "
}
}
}
การค้นหาคำอธิบายหะดีษให้ผลลัพธ์ 30
รายการ
จัดรูปแบบการตอบกลับเป็น JSON
{
"metadata" : {
"length" : " عدد نتائج البحث " ,
"page" : " رقم الصفحة " ,
"removeHTML" : " هل عناصر الـ HTML ممسوحة أم لا " ,
"specialist" : " نوع الاحاديث هل هي للمتخصصين أم لا " ,
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : [
{
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"book" : " الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة " ,
"takhrij" : " تخريج الحديث في كتب أخرى " ,
"hasSharhMetadata" : " هل الحديث له شرح أم لا " ,
"sharhMetadata" : {
"id" : " رقم الشرح " ,
"isContainSharh" : " هل يحتوى هذا الرد على شرح الحديث أم لا؟ " ,
"urlToGetSharh" : " رابط لكي تبحث عن شرح الحديث " ,
"sharh" : " شرح الحديث "
}
}
]
}
เพื่อค้นหาข้อมูลเกี่ยวกับผู้พูดโดยใช้ id
จัดรูปแบบการตอบกลับเป็น JSON
{
"metadata" : {
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : {
"name" : " المحدث " ,
"mohdithId" : " رقم المحدث " ,
"info" : " معلومات عن المحدث "
}
}
เพื่อค้นหาข้อมูลเกี่ยวกับหนังสือโดยใช้ id
จัดรูปแบบการตอบกลับเป็น JSON
{
"metadata" : {
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : {
"name" : " الكتاب " ,
"bookId" : " رقم الكتاب " ,
"author" : " المؤلف " ,
"reviewer" : " المراجع " ,
"publisher" : " دار النشر " ,
"edition" : " رقم الطبعة " ,
"editionYear" : " سنة الطبعة "
}
}
องค์ประกอบ query
ที่คุณสามารถใช้ได้
พร้อมคำอธิบายโดยละเอียดด้านล่างตาราง
ที่สำคัญ | คำอธิบาย |
---|---|
value | เป็นเนื้อหาของข้อความสุนัตที่คุณต้องการค้นหา |
page | เพื่อเลือกหน้าที่ต้องการ |
removehtml | ลบองค์ประกอบ HTML ในคำพูด |
specialist | ใช้เพื่อกำหนดประเภทของสุนัต ไม่ว่าจะเป็นสำหรับผู้เชี่ยวชาญหรือไม่ก็ตาม |
xclude | คำหรือวลีที่คุณต้องการแยกออกจากการค้นหา |
st | กำหนดวิธีการค้นหา |
t | กำหนดขอบเขตการค้นหา |
d[] | กำหนดระดับของหะดีษ ไม่ว่าจะเป็นของแท้หรืออ่อนแอ |
m[] | ระบุชื่อของการอัปเดตที่คุณต้องการ |
s[] | เลือกหนังสือที่คุณต้องการค้นหา |
rawi[] | ระบุชื่อของผู้บรรยายที่คุณต้องการ |
[]
เหล่านี้ระบุว่าองค์ประกอบนี้ยอมรับมากกว่าหนึ่งตัวเลือก /v1/api/hadith/search?value=جملة البحث
/v1/api/hadith/search?value=جملة البحث&page=1
page=1
HTML
ในคำพูด<span class="search-keys">...</span>
/v1/api/hadith/search?value=جملة البحث&removehtml=true
HTML
ออกจากผลการค้นหาtrue
true
สำหรับผู้เชี่ยวชาญและ false
สำหรับผู้ที่ไม่ใช่ผู้เชี่ยวชาญ/v1/api/hadith/search?value=جملة البحث&specialist=true
false
/v1/api/hadith/search?value=جملة البحث&xclude=اليهود
اليهود
จะถูกแยกออกจากการค้นหา جميع الكلمات
, أي كلمة
, بحث مطابق
w
, a
, p
جميع الكلمات
ให้ st=w
أي كلمة
มันจะเป็น st=a
بحث مطابق
st=p
/v1/api/hadith/search?value=جملة البحث&st=p
คุณค่าและวิธีการวิจัยทั้งหมดที่พวกเขาเป็นตัวแทน
หรือคุณสามารถรับมันเป็นไฟล์ JSON
ได้จากที่นี่
جميع الأحاديث
สุนัต الأحاديث المرفوعة
الأحاديث القدسية
آثار الصحابة
شروح الأحاديث
*
, 0
, 1
, 2
, 3
جميع الأحاديث
จะเป็น t=*
الأحاديث المرفوعة
t=0
الأحاديث القدسية
t=1
آثار الصحابة
t=2
شروح الأحاديث
t=3
/v1/api/hadith/search?value=جملة البحث&t=1
ค่าทั้งหมดและช่วงการค้นหาที่แสดง
หรือคุณสามารถรับมันเป็นไฟล์ JSON
ได้จากที่นี่
0
, 1
, 2
, 3
, 4
جميع الدرجات
d[]=0
أحاديث حكم المحدثون عليها بالصحة
มันจะเป็น d[]=1
أحاديث حكم المحدثون على أسانيدها بالصحة
มันจะเป็น d[]=2
أحاديث حكم المحدثون عليها بالضعف
มันจะเป็น d[]=3
أحاديث حكم المحدثون على أسانيدها بالضعف
มันจะเป็น d[]=4
/v1/api/hadith/search?value=جملة البحث&d[]=3
/v1/api/hadith/search?value=جملة البحث&d[]=1&d[]=2
ค่าและองศาทั้งหมดที่แสดง
หรือคุณสามารถรับมันเป็นไฟล์ JSON
ได้จากที่นี่
0
, 179
, 204
, 256
, 261
...ฯลฯ0
หมายถึง جميع المحدثين
179
หมายถึง الإمام المالك
204
หมายถึง الإمام الشافعي
256
หมายถึง البخاري
261
เป็นตัวแทนของ مسلم
/v1/api/hadith/search?value=جملة البحث&m[]=179
/v1/api/hadith/search?value=جملة البحث&m[]=256&m[]=261
ค่าทั้งหมดและชื่อของวิทยากรที่พวกเขาเป็นตัวแทน
หรือคุณสามารถรับมันเป็นไฟล์ JSON
ได้จากที่นี่
0
, 13457
, 6216
, 3088
, 96
...ฯลฯ0
หมายถึง جميع المحدثين
และ 13457
หมายถึง الأربعون النووية
6216
หมายถึง صحيح البخاري
3088
เป็นตัวแทนของ صحيح مسلم
96
แสดงถึง الصحيح المسند
/v1/api/hadith/search?value=جملة البحث&s[]=96
/v1/api/hadith/search?value=جملة البحث&s[]=6216&s[]=13457
ค่าทั้งหมดและชื่อของหนังสือที่พวกเขาเป็นตัวแทน
หรือคุณสามารถรับมันเป็นไฟล์ JSON
ได้จากที่นี่
0
, 1819
, 8918
, 2664
...ฯลฯ0
หมายถึง جميع الرواة
1819
หมายถึง أسماء بنت أبي بكر
8918
เป็นตัวแทนของ عمر بن الخطاب
2664
หมายถึง ابن عباس
/v1/api/hadith/search?value=جملة البحث&rawi[]=1819
/v1/api/hadith/search?value=جملة البحث&rawi[]=8918&rawi[]=2664
2665
เป็นสัญลักษณ์ของ ابن عباس أو أبو هريرة
8924
เป็นสัญลักษณ์ของ عمر بن الخطاب وأبو هريرة
264
หมายถึง أبو الدرداء وأبو أمامة وعبدالله بن عمر وابن عباس وجابر بن عبدالله
ค่าทั้งหมดและชื่อของผู้บรรยายที่เป็นตัวแทน
หรือคุณสามารถรับมันเป็นไฟล์ JSON
ได้จากที่นี่
ข้อมูลที่มีอยู่ทั้งหมดและค่าที่แสดงสามารถรับได้จาก endpoints
เหล่านี้
[
{
"endpoint" : " /v1/data/book " ,
"description" : " احضار كل الكتب المتاحة " ,
"abstractResponse" : [
{
"key" : " الكلمة المفتاحية " ,
"value" : " القيمة "
}
]
},
{
"endpoint" : " /v1/data/degree " ,
"description" : " احضار كل درجات الحديث المتاحة " ,
"abstractResponse" : [
{
"key" : " الكلمة المفتاحية " ,
"value" : " القيمة "
}
]
},
{
"endpoint" : " /v1/data/methodSearch " ,
"description" : " احضار كل طرق البحث المتاحة " ,
"abstractResponse" : [
{
"key" : " الكلمة المفتاحية " ,
"value" : " القيمة "
}
]
},
{
"endpoint" : " /v1/data/mohdith " ,
"description" : " احضار كل المحدثين المتاحين " ,
"abstractResponse" : [
{
"key" : " الكلمة المفتاحية " ,
"value" : " القيمة "
}
]
},
{
"endpoint" : " /v1/data/rawi " ,
"description" : " احضار كل الرواة المتاحين " ,
"abstractResponse" : [
{
"key" : " الكلمة المفتاحية " ,
"value" : " القيمة "
}
]
},
{
"endpoint" : " /v1/data/zoneSearch " ,
"description" : " احضار كل نطاقات البحث المتاحة " ,
"abstractResponse" : [
{
"key" : " الكلمة المفتاحية " ,
"value" : " القيمة "
}
]
}
]
เปิดปัญหาหากคุณพบปัญหาหรือมีข้อเสนอแนะ
แน่นอนว่าเรายินดีรับการมีส่วนร่วมของเรา ❤