本文へ移動
Unlogical Systems

Ctrl / ⌘ + K でも開けます

    Unlogical Systems

    OpenAPI を採用する理由

    OpenAPIは、Web APIの仕様を機械が読める形式で記述する標準規格です。弊社がAPI仕様の単一の正としてOpenAPIを採用し、画面側のコード生成や仕様書の共有に活用している理由と、保守の考え方を解説します。

    OpenAPI(API 仕様の単一の正)

    公式サイト

    OpenAPI(API 仕様の単一の正)とは

    OpenAPIは、WebのAPIが「どのURLに、どんなデータを送ると、どんなデータが返るか」を、人にも機械にも読める形式で記述するための標準規格です。この記述から、閲覧用の仕様書、画面側でAPIを呼び出すコード、テスト用の模擬サーバーなどを自動生成できます。APIの仕様書を文書として別に管理すると、実装と食い違ったまま放置されがちですが、OpenAPIを仕様の「単一の正」として扱うことで、仕様と実装とドキュメントを一致させ続ける運用が可能になります。

    弊社が採用する理由

    弊社では、画面とサーバーを分けて開発するWebシステムで、APIの仕様をOpenAPIで管理し、これを唯一の正として扱っています。Laravelで作るサーバーでは、コードの型や入力チェックからOpenAPIの仕様を生成するツールを使い、実装と仕様が乖離しないようにしています。生成した仕様からは、Orvalというツールで画面側のAPI呼び出しコードとTypeScriptの型を自動生成し、Next.jsやReactの画面から利用します。これにより、サーバー側で項目を追加・変更すると、画面側のどこに影響するかが型チェックで即座にわかります。スマートフォンアプリや外部システムと連携する案件では、仕様書をOpenAPIから生成して共有できるため、要件定義基本設計の成果物としても機能します。担当者が変わっても仕様が実装から自動的に得られる点は、長期の保守で大きな安心材料になります。

    向いている案件

    • 画面とサーバーを分けて開発するWebシステム
    • スマートフォンアプリや外部システムと連携するAPIの開発
    • 複数の開発者・開発会社の間でAPI仕様を共有する必要がある案件
    • 仕様書と実装を一致させ続けたい長期運用のシステム

    保守・移行の観点

    OpenAPIの仕様は実装から生成する運用にしておくと、仕様書の更新忘れを防げます。逆に手書きで管理する場合は、実装との突き合わせを継続的インテグレーションで自動検証する仕組みが必要です。APIの変更で既存の呼び出し側が壊れないよう、項目の削除や型の変更は互換性を保ちながら段階的に行い、仕様の版管理と変更履歴を残します。画面側のコード生成はビルドの一部に組み込み、生成物を手で編集しない運用を徹底すると、更新時の混乱を避けられます。

    組み合わせて使う技術

    よくあるご質問

    API仕様書は納品物に含まれますか?

    はい。OpenAPIの仕様と、そこから生成した閲覧用の仕様書を納品物に含めています。実装から生成しているため、納品時点の実装と一致した内容になります。

    既存のAPIにも後からOpenAPIを導入できますか?

    可能です。既存のコードから仕様を生成するツールや、通信内容から仕様を起こす方法があります。まず現状のAPIの数と構成を確認し、段階的に整備する進め方をご提案します。

    OpenAPIで書けば外部の開発会社にもAPIを渡せますか?

    OpenAPIは業界標準の形式なので、多くの開発会社やツールがそのまま読み込めます。スマートフォンアプリの開発を別の会社が担当する場合の連携にも適しています。

    関連するサービス

    関連する開発ガイド

    関連用語: API基本設計・詳細設計要件定義

    監修: Unlogical Systems合同会社杉並区・西荻窪)公開

    まずは現場のエンジニアにご相談ください

    営業担当ではなく、実際に設計・開発を行うエンジニアが直接お答えします。ご相談・お見積りは無料、1営業日以内にご回答いたします。

    無料でご相談・お見積り

    資料の添付は、送信後に届く受付メールへの返信でお送りいただけます。

    相談・見積りは無料
    1営業日以内にご回答します

    無料で相談する