概要 DrupalのJSON:APIの使用方法に関する備忘録です。今回は、タクソノミーなどに対するincludeと多言語処理について記載します。
データ 以下のように、positionフィールドにタクソノミー「助教」を付与しています。
/node/5
また、コンテンツの多言語化を有効にしており、以下のように、タイトルとpositionの英語も表示されます。
/en/node/5
JSON:API 上記のコンテンツをコンテンツタイプ「faculty」に作成したので、以下のURLから、データの一覧を取得できます。
/jsonapi/node/faculty/
以下は、linksフィールドを除く結果を表示しています。field_positionにタクソノミーのIDが含まれていますが、当該タクソノミーのラベル等はふくまれていません。
{ } " } " ] j , d s " " } a { } o v m t n e e " } a " " " } " } a r t l " t i a , r p s a i " } : y d t " " " " " " " " " " " " " " " " } " e " } " } " } " } i i " n s p " t d d l r r s t c c p s d r c c p , b l n , r , u , f " o : k e " [ e : r r r a e e t i r h r t e e o o a " " " o a o " } e " } i " } i " } : n s l h " i u u n v v a t e a o i f v n n t a p l d t d d v d d d e d " { " f r : " b p p g i i t l a n m c a i t t h l i a y i e a " " " } i a " " " } " a " " " } l a " " " } { : : " e 5 u a a c s s u e t g o k u s e e " i d n " o _ t t i m s t t i m : t t i m d t t i m : f " 8 t l l o i i s " e e t y l i n n : a " g : n t a y d e " i a y d e " a y d e " _ a y d e " " { " n 6 e _ _ d o o " : d d e " t o t t s : c s y " p " t d o " p " t d { " p " t d p " p " t d 1 { : o e s i i e n n : " " " : _ n _ _ { " o n h p : e : a r n : e : a r : e : a r o : e : a r . d f " n n " _ _ " : : : l _ t t : n d u i e " " u _ " " u " " u s " " u 0 " e 1 : t t : t l t 中 f a t r r u e l p " { : " : p u { : " : p { : " : p i { : " : p " h - d e e i o r 村 " " t a n r a a n l " l s : 8 a i 0 a 0 a t 6 a , t - 9 { r r " m g u 覚 2 2 r l g a n n u l : " " 4 { l d " b { l " b { l i " c { l t f - n n j e " e " 0 0 u s c n s s l , : { n 1 _ " u 0 _ u 0 _ o t e _ p a b a a a s : , , 2 2 e e o s l l l " o 9 i : s 0 i s 0 i n a 4 i : c 6 l l " t 3 3 , , d l a a , j { d 6 n e 1 n e 1 n " x 5 n / u 8 _ _ , a n - - e a t t a e 2 t { r e t r e t : o 8 t / l 0 _ _ m u 0 0 " t i i " _ f e - 4 e - 4 e n e e j t - n v p l 6 6 : i o o t 7 r - d r - d r { o 8 r s y 4 i i " l - - o n n y - n u - n u - n m - n o " 1 d d : , 0 0 t n _ _ p 9 a s e a s e a y 6 a n , f " " 8 8 r _ s o e 1 l e d l e d l _ d l a 9 : : " T T u a o u - c _ r 2 _ r 2 _ t 7 _ p - 2 0 0 e f u t - 8 _ " 9 _ " 9 _ e 9 _ i b 5 1 0 0 1 , f r d n - t , - t , - t r - t . 5 , 3 2 : : e c a o 4 a 4 a 4 a m 4 a o 4 , 3 4 0 c e t d 7 r a r a r - e r r b - 4 1 t " e e a g 5 g 5 g - d g g - 0 : : e : d _ 1 e 3 e 3 e p 1 e / 7 6 1 2 d " t - t - t - t o - t f e - 5 6 " " : y b _ 9 _ 9 _ s 9 _ o b 0 + + : u p 3 i 6 i 6 i i 6 i r c 8 0 0 n f e 3 d 0 d 0 d t 5 d m d T 0 0 n d a " 5 " d " d " i 3 " a c 0 : : u " l , - : - : - : o - : t 9 1 0 0 l , s e 9 9 n 5 / d : 0 0 l e a " c 1 c 1 " e 5 1 1 0 " " , , 4 f d d , c . 5 1 , , 9 a c c 1 0 4 : 4 c c c 7 / f 4 e u 3 3 8 " " 3 f l d d 5 , + e t 3 3 6 0 4 y a a 8 0 6 " d d b : 7 7 7 7 0 c 0 0 a 0 " " " " " , , , , , includeを使う クエリに、?include=field_positionを追加します。結果、以下のように、includedフィールドが追加され、タクソノミータームのnameフィールドの値も得ることができました。
...