logo

Լրացուցիչ Բլոկների Տեսակներ (EBT) - Դասավորության Կառուցողի նոր փորձառություն❗

Լրացուցիչ Բլոկների Տեսակներ (EBT) - ձևավորված, կարգավորելի բլոկների տեսակներ՝ սլայդշոուներ, ներդիրներ, քարտեր, բացվող ցանկեր և շատ ուրիշներ։ Ներառված կարգավորումներ՝ ֆոնի, DOM տուփի, JavaScript փլագինների համար։ Փորձեք դասավորությունների կառուցման ապագան արդեն այսօր։

EBT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EBT մոդուլները

❗Լրացուցիչ Պարբերությունների Տեսակներ (EPT) - Պարբերությունների նոր փորձառություն

Լրացուցիչ պարբերության տեսակներ (EPT) - անալոգիական պարբերության վրա հիմնված մոդուլների հավաքակազմ։

EPT մոդուլների ցուցադրական տարբերակներ Ներբեռնել EPT մոդուլները

Scroll

JSON:API-ն ընդդեմ core-ի REST մոդուլի

18/05/2025, by Ivan

JSON Drop API Documentation

Կարճ՝ TL;DR

Ընտրեք REST, եթե ունեք ոչ էյնթիթի տվյալներ, որոնք ցանկանում եք հասանելի դարձնել։ Մնացած բոլոր դեպքերում ընտրեք JSON:API։

Ավելի մանրամասն՝

  • Core-ի REST մոդուլը թույլ է տալիս ամեն ինչ (ցանկացած ֆորմատ, ցանկացած տրամաբանություն, ցանկացած HTTP մեթոդ) և բարձր կարգավորելիություն։ Ուժեղ է, բայց բարդ և այդ պատճառով ավելի փխրուն։
  • JSON:API-ն կենտրոնանում է Drupal-ի ամենամեծ առավելության՝ էյնթիթիների/տվյալների մոդելավորման, տրամաբանական ներկայացման վրա։ Պարզ, բայց բավարար ուժեղ մեծ մասի կիրառությունների համար։

Համեմատության աղյուսակ

Բարձր մակարդակի ֆունկցիոնալ համեմատություն JSON:API-ի և REST-ի միջև.
Հատկություն JSON:API REST Նշում
Էյնթիթիների հասանելիություն որպես ռեսուրսներ ✔️ ✔️ REST-ում՝ պետք է կարգավորել յուրաքանչյուր էյնթիթի տիպի համար։ JSON:API-ում՝ ամեն ինչ հասանելի է լռությամբ։ Երկուսում էլ՝ հարգվում է էյնթիթիի հասանելիությունը։
Սեփական տվյալների հասանելիություն որպես ռեսուրսներ   ✔️ Գրել custom @RestResource plugins։ JSON:API-ն աջակցում է միայն էյնթիթիներին։
Առանձին ռեսուրսների ստացում ✔️ ✔️  
Ռեսուրսների ցուցակների ստացում ✔️ մեկ տեսակով REST-ում՝ պետք է կարգավորել view և ստեղծել "REST export" տեսք։
Ցուցակների էջավորում (pagination) ✔️ Պահանջվում է Pager Serializer մոդուլը։ REST-ում՝ չի աջակցվում։ REST export views-ը վերադարձնում է բոլոր ռեսուրսները։
Ցուցակների ֆիլտրում ✔️ մեկ տեսակով REST-ում՝ միայն եթե ստեղծել եք ցուցադրվող ֆիլտր յուրաքանչյուր դաշտի ու յուրաքանչյուր օպերատորի համար։
Ռեսուրսների դասավորություն (sorting) ✔️    
Include/embedding ✔️ Միայն HAL+JSON-ում  
Դաշտերի արժեքների ավելորդ փաթեթավորում չկա ✔️   HAL նորմալիզացիան և լռությամբ նորմալիզացիան (և բոլոր ֆորմատները) վերադարձնում են հենց այն PHP տվյալների կառուցվածքը, որը օգտագործում է Drupal-ը, ինչը դժվարացնում է օգտագործումը։ JSON:API-ն պարզեցնում է միարժեք դաշտերի և հատկությունների ներկայացումը։
Հնարավորություն դուրս թողնել չանհրաժեշտ դաշտերը ✔️    
Համապատասխան URL-ներ ✔️    
Սպառողը կարող է հայտնաբերել ռեսուրսի տիպերը ✔️    
Drupal-ից անկախ պատասխանների կառուցվածք ✔️   REST-ում՝ HAL նորմալիզացիան տեսականորեն Drupal-ից անկախ է, բայց գործնականում այդպես չէ։
Կլիենտ գրադարաններ ✔️    
Ընդարձակվող (extensible) սպեկ Պատրաստվում է (WIP)    
Զրոյական կարգավորում (zero configuration) ✔️   REST-ում՝ յուրաքանչյուր @RestResource plugin-ը կարելի է դարձնել հասանելի, բայց պետք է կարգավորել։ Պետք է նշել թույլատրվող ֆորմատները, նույնականացման մեթոդները և անհրաժեշտության դեպքում՝ HTTP մեթոդները։
JSON:API-ում՝ բոլոր էյնթիթիները հասանելի են ավտոմատ, էյնթիթի/դաշտի հասանելիությունը հարգվում է, բոլոր միացված authentication providers-ը թույլատրված են։

Ավելին

Տեսեք JSON:API մոդուլը Drupal core-ում ավելացնելու հիմնավորումը և մոդուլի ճարտարապետության հիմնավորումը։

Հոդվածը՝ Drupal Documentation։