API エンドポイントの開発に Go Huma フレームワークを選択した理由

DDD
リリース: 2024-11-10 05:31:03
オリジナル
258 人が閲覧しました

Why we chose the Go Huma framework to develop our API endpoints

私がソフトウェア エンジニアとして働いている会社では、マイクロ サービスと通信する API を開発中です。これは、自社の製品だけでなく、自社の製品でも使用される予定です。クライアントが使用できる API。これに Golang を選択した総合的な決め手は速度でした。 Go は実行時間が速いだけでなく、メモリ消費量が少なく、効率的な同時実行性も備えています。

エンドポイントを指定する最初のステップに関しては、コードとドキュメント間の不一致を避けたかったので、コード内でエンドポイントを指定するソリューションを探していました。弊社の CEO も Python FastApi を使用した同じアプローチを使用していたので、Go 用の FastApi ソリューションをグーグルで検索したところ、Huma を見つけました。 Huma を使用すると、コードから OpenAPI ドキュメントを自動的に生成でき、信号要素を使用して見栄えの良いドキュメントを生成します。 Go タイプから JSON スキーマを生成し、パス/クエリ/ヘッダーのパラメーター、本文、応答ヘッダーなどに静的型付けを使用します。入力モデルの検証とエラー処理は、JSON スキーマに基づいて自動的に行われます。

このフレームワークはかなり柔軟で、たとえば自分のルーターを使用できることがわかりましたが、デフォルトのルーターとして使用する Chi にこだわっただけです。いくつかの欠点があります。たとえば、配列クエリ パラメーターをサポートしていないようなので、フィルターをカンマで区切っています。しかし、それは契約の妨げにはなりませんでした。

今後の投稿では、Go Huma での経験と学びについてさらに詳しく書く予定ですが、これまでのところ、それが目的に適っていると感じています。

以上がAPI エンドポイントの開発に Go Huma フレームワークを選択した理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート