microCMSではデフォルトのGETリクエスト数が10件であり、10件以上のデータを取得するためにクエリストリングでGETをできるようにしました。
// api request method
type methodType = 'GET' | 'POST' | 'PUT' | 'DELETE';
export const getBlogs = (limit: number, endpoint: string, methodType: methodType) =>
fetch(`https://${process.env.SERVICE_DOMAIN}.microcms.io/api/v1/${endpoint}?limit=${limit}`, {
method: methodType,
headers: { 'X-MICROCMS-API-KEY': process.env.API_KEY || '' },
}).then((result) => result.json());
process.env.SERVICE_DOMAINは、microCMSの自身のドメインを入力してください。
例えばabc.microcms.io/ならabcになります。
process.env.API_KEYにはmicroCMSのAPIキーを代入するようにします。
process.envについての使い方の詳細は、【2023】MicroCMS×Next.js×TypeScriptでJamStackなブログの作り方で紹介しているので併せて確認してみてください。
他のクエリストリングを使いたい場合は、公式のドキュメントを確認してみてください。
const all_blog = await getBlogs(100, 'blogs', 'GET');
これでall_blogに100件までのコンテンツをGETできます!
microcms-js-sdkのcreateClientでできれば楽そうでしたが、見つけられなかったので自作メソッドを作成しました。
現在、大学生です。
連合学習の研究をしています。
資格や技術で勉強したことについてアウトプットしたいと思います。
目次