하나님의 평화와 축복과 자비가 당신에게 있기를 바랍니다
얼마전에 Dental Pearls API
사용해보려고 했는데
하지만 API
JSONP만 처리하고, CORS 때문에 정상적인 방식으로 처리할 수 없다는 점 등 몇 가지 어려움에 직면했습니다.
JSONP
사용하여 CORS
방지에 성공하면 HTML
형식으로 출력됩니다. 또한 이 API
의 세부 사항과 처리 방법을 설명하는 documentation
나 문서가 없습니다.
CORS
문제를 피하고 API
에 대한 자세한 설명과 사용 방법과 함께 JSON
형식의 데이터를 제공하는 중개 API
만들기로 결정했습니다.
공식 API
에는 없는 몇 가지 추가 기능을 포함하는 것 외에도
5
초 동안 cache
됩니다.IP
당 일일 검색 100
config.js 파일에서 편집할 수 있습니다.
fork
clone
dependencies
설치 npm install
API
실행 npm start
API
다음 링크에서 사용할 수 있습니다. http://localhost:5000
localhost
에서 사용하거나, 자신의 호스팅이나 서버에 업로드하세요. 링크: 우편배달부
Postman
사용하여 API
작업 방법을 알아보고 예제를 확인하세요.collection
fork
사용하세요.environment
dev
변수 {{url}}
변경했거나 port
대화형 API 문서를 보려면:
서버를 실행합니다:
npm run dev
브라우저를 열고 다음으로 이동하세요.
http://localhost:5000/api-docs
여기서는 사용 가능한 모든 엔드포인트를 탐색하고 브라우저에서 직접 API를 테스트할 수 있는 Swagger UI를 찾을 수 있습니다.
API
endpoint
세트가 포함되어 있습니다.
endpoint
/api
로 시작하면 공식 Durar Al-Suniya API
통해 검색합니다.endpoint
/site
로 시작하면 Durar Al-Sunniyya 검색 페이지를 통해 검색되는 방식입니다. hadiths를 검색하면 15
결과가 나옵니다.
응답 형식을 JSON
으로 지정
{
"metadata" : {
"length" : " عدد نتائج البحث " ,
"page" : " رقم الصفحة " ,
"removeHTML" : " هل عناصر الـ HTML ممسوحة أم لا " ,
"isCached" : " هل هذه النتائج من الـ cache أم لا "
},
"data" : [
{
"hadith" : " الحديث " ,
"rawi" : " الراوي " ,
"mohdith" : " المحدث " ,
"book" : " الكتاب " ,
"numberOrPage" : " رقم الحديث او الصفحة " ,
"grade" : " درجة الصحة "
}
]
}
hadiths를 검색하면 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
에 해당하는 올바른 hadith를 가져옵니다.
응답 형식을 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" : " شرح الحديث "
}
}
}
hadiths에 대한 설명을 검색하면 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" : " القيمة "
}
]
}
]
문제가 발생하거나 제안사항이 있으면 이슈를 열어주세요.
물론 우리는 우리의 기여를 환영합니다 ❤