ヘッドレスCMSのNewtでカテゴリーごとの記事一覧を取得したい

前提

Next.js + ヘッドレスCMSのNewtでブログを作っています。

APIモデルは2つ作成しています。

  • 投稿(タイトル、下で定義したカテゴリー、サムネイルなどのフィールドを作成)
  • カテゴリー(名前、スラッグなどのフィールドを作成)

newt-client-jsのgetContents()で投稿モデルを取得したいのですが、カテゴリーで絞り込みがうまくいきません。

記事データは以下のように返ってくるので、

{ category: { name: 'カテゴリーA', slug: 'cat_a', }, title: '記事タイトル', slug: 'xxxxxxxx', ・ ・ ・ }

このように、queryで絞り込めばいいと思ったのですが、400エラーになってしまいます。

javascript

1export async function getPostByCategory() {2 const post = await newtCdnClient.getContents({3 appUid: process.env.NEXT_PUBLIC_NEWT_APP_UID,4 modelUid: 'post',5 query: {6 category: {7 slug: 'cat_a'8 }9 }10 });11 return post.items;12}

queryをカテゴリーではなくタイトルで絞り込むと、ちゃんと絞り込んで取得できます。

query: { title: "記事タイトル" }

おそらく、titleのように、投稿モデル内で定義したフィールドならうまくいくのですが、別モデルを参照したものを投稿モデルのフィールドにセットしたやつだとうまくいかないのかなと思っています(queryの書き方が違う?など)。

どのようにqueryを書けば良いのでしょうか。ドキュメントを読んでも分からなかったので助けていただきたいです。

https://github.com/Newt-Inc/newt-client-js

コメントを投稿

0 コメント