Beego は、Go 言語 Web アプリケーションを迅速に開発するための Web フレームワークであり、開発プロセスを簡素化するための多くの機能とツールを提供します。これらの機能とツールには、Swagger (API ドキュメント生成ツール) と Postman (API テスト ツール) のサポートが含まれており、どちらも開発者が API を簡単に管理およびテストできるようにします。この記事では、Beego で Swagger を使用し、Postman のパフォーマンスを組み合わせる方法を紹介します。 APIのテスト。
1. Swagger のインストール
Swagger は、RESTful Web サービスを設計、構築、文書化、テストするためのオープンソース フレームワークです。 Swagger を使用すると、動的に生成された API ドキュメントで各 API メソッドのリクエストとレスポンスを表示できます。
まず、Swagger をインストールする必要があります。次のコマンドを入力します:
go get -u github.com/swaggo/swag/cmd/swag
インストールが完了したら、次のコマンドを再度入力します:
swag init
これにより、Beego アプリケーションのルート ディレクトリに、生成された Swagger ドキュメントを含む docs フォルダーが生成されます。
2. Swagger を Beego に統合する
次に、Swagger を Beego に統合する必要があります。これを行うには、main.go ファイルに swagger と beego/context の依存関係を導入する必要があります。
import(
"github.com/astaxie/beego" "github.com/astaxie/beego/context" _ "your-app-doc-path/docs"
)
次に、main.go ファイルの init() 関数に次のコードを追加します。
func main( ) {
if beego.BConfig.RunMode == beego.DEV { beego.BConfig.WebConfig.DirectoryIndex = true beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger" // 添加路由,可以自定义,这里设置为/swagger beego.InsertFilter("/*", beego.BeforeRouter, func(ctx *context.Context) { ctx.Output.Header("Access-Control-Allow-Origin", "*") ctx.Output.Header("Access-Control-Allow-Headers", "Content-Type,Token") ctx.Output.Header("Access-Control-Allow-Methods", "POST,GET") }) } // 注册Swagger路由 beego.BConfig.WebConfig.StaticDir["/docs"] = "docs" beego.BeeApp.Handlers.Get("/docs/*", func(ctx *context.Context) { ctx.Output.Header("Content-Type", "text/html;charset=utf-8") ctx.Output.Body(swaggerFiles.Index) })
}
このコードは、Swagger UI ファイルを保存するために、アプリケーションのルート ディレクトリに Swagger フォルダーを作成します。 Beego が初期化されると、Swagger UI ディレクトリが静的ルートとして登録されます。 Swagger UI は静的な HTML、CSS、および JavaScript ファイルのセットであるため、これらのファイルには静的なリソース ディレクトリからアクセスします。
次の URL を入力して、ブラウザで Swagger UI を開く必要があります:
http://localhost:[port]/docs/index.html
ここでは、 [port] をサーバーのポート番号に置き換えてください。
3. Swagger コメントを書く
Swagger を統合したら、API の Swagger コメントを書く必要があります。これは次の方法で実行できます。
まず、ファイル swagger.go を作成し、次のコードを追加します。
packagecontrollers
/* Operation category
*/
// swagger:parameters add sub
type オペランド struct {
// The first operand // in: path // required: true A int `json:"a"` // The second operand // in: path // required: true B int `json:"b"`
}
/* 戻り値
*/
/ / swagger:response OperResult
type OperandsResultWrapper struct {
// in:body Body struct { // 运算结果 Result int `json:"result,omitempty"` }
}
/ Add/
// swagger:route GET /add /{a}/{b} add
//
// 追加用
//
// サポートされる述語: GET
// パラメーター:
// A: (パス) - 最初のオペランド (整数のみ)
// B: (パス) - 2 番目のオペランド (整数のみ)
// 受け入れられるコンテンツ:
// 生成されます:
// 結果を返す (application/json)
// エラー (application/json)
//
// swagger:parameters add
// swagger:response OperResult
func (o *OperationController) Add() {
// ...
}
ここでは、API リクエストとレスポンスを記述するために Swagger アノテーションを定義します。注釈は、Swagger 構文を使用して、ルーティング ルール、コマンド パラメーター、および結果の型を記述します。具体的には:
4. API をテストする
これで、Beego アプリケーションは Swagger を使用できるようになり、適切な Swagger アノテーションが追加されました。次に、Postman を使用して API をテストできます。
Postman で、API URL アドレスと必要なパラメーターを入力し、GET 動詞を選択します。その後、swagger_generated_api_test.go ファイル内のテストのような一連のテストを使用して、API が適切に動作していることを確認できるようになります。
5. 概要
この記事では、Beego で Swagger を使用し、API テストのために Postman と組み合わせる方法を紹介しました。最初に Swagger のインストール方法を紹介し、次に Swagger を Beego に統合する方法を示しました。次に、Swagger アノテーションを記述し、API テストに Postman を使用する方法を示しました。これらの手順は、Beego を使用して RESTful Web API を開発する開発者にとって非常に重要です。これにより、開発者は高品質の Web アプリケーションの開発とテストをより迅速かつ簡単に行うことができます。
以上がBeego で Swagger を使用し、Postman と組み合わせて API テストを行うの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。