microCMS

コンテンツの取得APIに関する大幅な性能改善を行いました

更新情報
2020/10/01 松田 承一

この度サービスのバックエンド部分の改修を行い、特にコンテンツ一覧の取得APIに様々な改善を行うことができました。
その内容についていくつかピックアップしてお伝えいたします!

レスポンス速度が大幅に向上しました

非キャッシュ時のコンテンツ一覧の取得をする際のレスポンス速度が大幅に向上しました。
コンテンツ量や内容にもよりますが以前に比べ2倍~10倍程度早くレスポンスが返却されるようになりました。

特にJamstack構成でご利用の場合、ビルド時間の大半をAPIのレスポンス待ちに使っているケースも多いと思います。
こういった場合でもこれまでより素早くビルドを完了させることができ、業務フローの改善に役立つかと思います!

様々なパラメータの組み合わせに対応しました

これまでのAPIでは「全文検索とフィルタリングを同時に扱えない」「下書きコンテンツは各パラメータの対象にならない」「フィルタリング時は順序並び替えができない」など、様々な制約事項がございました。
今回の改修に伴い、こういった制約のほとんどを無くすことができました。

いくつか対応できた内容についてご紹介します。

  • 全文検索(q)と順序並び替え(orders)が同時に指定可能
  • 全文検索(q)とフィルタリング(filters)が同時に指定可能
  • 順序並び替え(orders)とフィルタリング(filters)が同時に指定可能
  • id指定(ids)と各種パラメータ(qordersfiltersoffsetlimit)が同時に指定可能
  • いくつかの条件の指定時に件数(limit)の上限が100件だったものを上限なしに変更

※一度に返却できるデータ量には引き続き上限がございますので適切にページング処理等は行ってください

これにより今まで以上に柔軟にコンテンツの絞り込みができ、様々なフロントエンド表現が可能になるかと思います。
ぜひ色々な組み合わせをお試しください!

カスタムフィールド内を対象にしたフィルタリングや全文検索ができるようになりました

これまではカスタムフィールドをお使いの場合、フィールド内の値についてフィルタリングや全文検索には制約がありました。
今回の改修に伴いこの辺りも改善が行われています。

カスタムフィールドのフィルタリング

以前は全く対応できなかったフィルタリングについてここでは取りあげます。

今回の改修によりカスタムフィールドで設定したフィールド一つ一つに対するフィルタリングが可能となりました。
単純なカスタムフィールドであれば{フィールド名}.{カスタムフィールドのフィールド名}[equals]{VALUE}、繰り返しフィールであれば{フィールド名}.{カスタムフィールドのフィールドID}.{カスタムフィールドのフィールド名}[contains]{VALUE}といった指定によってコンテンツを絞り込むことができます。
そのほか詳細についてはドキュメントや管理画面の「APIリファレンスタブ」をご参照ください。

おわりに

以上で本日の更新情報についてのお知らせを終わります。
痒いところに手が届かないことも多かったAPI周りが大幅に改善されました。
これまで以上に便利にお使いいただけたら幸いです!

ABOUT ME

松田 承一
ウォンタ株式会社の代表 / 家族=👨‍👩‍👧 / ヤフー→大学教員など→現職 / 管理画面付きAPIがすぐに作れるmicroCMSというサービス作ってます。

microCMSとは

  1. 開発者、編集者どちらも分かりやすい管理画面

  2. 細かな権限管理や豊富な外部サービス・データ連携

  3. 安心の日本製・日本語でのチャットサポート