logo

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

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

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

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

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

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

Scroll
18/05/2025, by Ivan

JSON Drop API Documentation

Այս էջում ներկայացված են GET հարցումների օրինակներ JSON:API մոդուլի համար։

Ստորև բերված բոլոր օրինակներում հարցման հեդերներ պարտադիր չեն։ Ավտենտիֆիկացում նույնպես պարտադիր չէ, եթե անանուն օգտվողները կարող են մուտք գործել բովանդակության էակներին։ Կոնֆիգուրացիոն էակների (օր.՝ մենյու) դեպքում տես վերջին բաժինները։

Ուշադրություն՝ բոլոր դեպքերում, երբ անհրաժեշտ է id, պետք է օգտագործել էակի uuid-ը, ոչ թե սերիական ID-ն։

Accept հեդեր

Պետք է միշտ ուղարկեք accept հեդերը՝ Accept: application/vnd.api+json։

curl \
  --header 'Accept: application/vnd.api+json' \
  ....

Հիմնական GET օրինակ

Հասցե՝ http://example.com/jsonapi/node/article/{{article_uuid}}

Պատասխան

HTTP 200 պատասխան։ Պատասխանի մարմնում՝ մեկ հոդվածի (article node) JSON:API օբյեկտը՝ բոլոր հատկություններով, կապերով և հղումներով։

GET հարցում՝ մի քանի հոդվածի համար

Հասցե՝ http://example.com/jsonapi/node/article

Պատասխան

HTTP 200 պատասխան։ Պատասխանի մարմնում՝ առավելագույնը 50 հոդվածի JSON:API օբյեկտ, ներառյալ հաջորդ էջի հղումը։

GET հարցում՝ առաջին 10 հոդվածի համար

Հասցե՝ http://example.com/jsonapi/node/article?page[limit]=10

Պատասխան

JSON պատասխան՝ առավելագույնը 10 հոդվածի համար, ներառյալ հաջորդ էջի հղումները։

GET հարցում՝ երկրորդ 10 հոդվածի համար (pagination)

Հասցե՝ http://example.com/jsonapi/node/article?page[limit]=10&page[offset]=10

Պատասխան

HTTP 200 պատասխան։ Պատասխանի մարմնում՝ առավելագույնը 10 հոդվածի JSON:API օբյեկտ՝ ներառյալ նախորդ, հաջորդ և այլ էջերի հղումները։

Ավելին՝ էջավորման մասին՝ https://www.drupal.org/docs/8/modules/jsonapi/pagination

GET հարցում՝ հոդվածները սորտավորված

Հասցե՝ http://example.com/jsonapi/node/article?sort=nid

Պատասխան

HTTP 200 պատասխան։ Պատասխանի մարմնում՝ հոդվածների JSON:API օբյեկտը, սորտավորված nid դաշտով աճման կարգով։ Օգտագործեք &sort=-nid՝ նվազման կարգով։

Ավելին՝ սորտավորման մասին՝ https://www.drupal.org/node/2803141

GET հոդված՝ վերնագրով ֆիլտրված

Հասցե՝ http://example.com/jsonapi/node/article?filter[article-title][path]=title&filter[article-title][value]={{title_filter}}&filter[article-title][operator]==

Պատասխան

HTTP 200 պատասխան։ Պատասխանի մարմնում՝ JSON:API օբյեկտ այն հոդվածների համար, որոնց 'title' դաշտը համապատասխանում է '{{title_filter}}' արժեքին։

Ավելին՝ ֆիլտրման մասին՝ https://www.drupal.org/node/2943641

GET հոդված՝ media entity reference դաշտի (field_image) url և uri ստանալու համար (include)

Նոր տարբերակ՝

http://example.com/jsonapi/node/article/{{article_uuid}}?include=field_image&fields[file--file]=uri,url

Հին տարբերակ՝

Հասցե՝ http://example.com/jsonapi/node/article/{{article_uuid}}?include=field_image,field_image.image,field_image.image.file--file&fields[field_image]=image&fields[file--file]=uri,url

Պատասխան

HTTP 200 պատասխան։ Պատասխանի մարմնում՝ համապատասխան հոդվածի media image-ի JSON:API օբյեկտները։

GET հոդված՝ բոլոր կապակցված տվյալներով (հեղինակ, տաքսոնոմիա և այլն)

Հասցե՝ http://example.com/jsonapi/node/article?fields[node--article]=uid,title,created&include=uid

Պատասխան

HTTP 200 պատասխան։ Պատասխանի մարմնում՝ user օբյեկտ՝ կապված օգտվողի բոլոր տվյալներով։ Նույն սինտաքսը կարող եք օգտագործել այլ կապակցված տվյալների (օր.՝ տաքսոնոմիա) համար։

GET հոդված՝ օգտվողի հղման դաշտով և նրա պրոֆայլով (հղում դաշտի մեջ՝ ևս մեկ հղում)

Հասցե՝ http://example.com/jsonapi/node/article/{{article_uuid}}?include=field_user_ref_example,field_user_ref_example.ref_example_profile

Պատասխան

HTTP 200 պատասխան։ Պատասխանի մարմնում՝ օգտվողի օբյեկտ, որը պարունակում է բոլոր տվյալները և նաև իր պրոֆայլը։ Նույն սինտաքսը գործում է նաև այլ նեստված հղումների համար։

GET հոդված՝ ընտրովի կապակցված դաշտերով (օր.՝ միայն հեղինակ անուն և էլ․ հասցե)

Հասցե՝ http://example.com/jsonapi/node/article?fields[node--article]=uid,title,created&fields[user--user]=name,mail&include=uid

Պատասխան

HTTP 200 պատասխան։ Պատասխանի մարմնում՝ օգտվողի օբյեկտ միայն նշված դաշտերով (այստեղ՝ հեղինակ անուն և էլ․ հասցե)։ Նույնը գործում է այլ կապակցված տվյալների համար։

GET հարցում՝ օգտվողների համար

Հասցե՝ http://example.com/jsonapi/user/user?filter[anon][condition][path]=uid&filter[anon][condition][value]=0&filter[anon][condition][operator]=<>

Պատասխան

HTTP 200 պատասխան։ Պատասխանի մարմնում՝ համակարգում գրանցված բոլոր օգտվողների JSON:API օբյեկտները, բացի անանուն օգտվողից։ Ուշադրություն՝ եթե ուղղակի հարցում ուղարկեք /jsonapi/user/user հասցեին, կստանաք HTTP 403 սխալ։

Կոնֆիգուրացիոն էակների ստացում

Քանի որ կոնֆիգուրացիոն էակները (օր.՝ մենյու, node type, tour) տարբեր են բովանդակության էակներից (nodes, users), դրանց ստացումը մի փոքր ավելի բարդ է։ Ներկայումս կոնֆիգուրացիոն էակները միայն կարդացվող են։

Թեստավորման համար օգտագործեք user-1 և basic_auth մոդուլը։

  1. Միացրեք basic_auth մոդուլը
  2. Դիտարկենք, որ user-1-ի անունը admin է, իսկ գաղտնաբառը՝ admin

Հետևյալ հրամանով կարող եք ցուցադրել մենյուները՝

curl \
  --header 'Accept: application/vnd.api+json' \
  http://admin:admin@drupal.d8/jsonapi/menu/menu

Հոդվածի աղբյուրը՝ Drupal Documentation։