ホームページ  >  記事  >  バックエンド開発  >  Go で異なるハンドル パターンを使用して同じポート上で Web ページと API ルートを提供するにはどうすればよいですか?

Go で異なるハンドル パターンを使用して同じポート上で Web ページと API ルートを提供するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-20 14:21:17563ブラウズ

How to Serve Web Pages and API Routes on the Same Port with Different Handle Patterns in Go?

異なるハンドル パターンを使用して同じポートで Web ページと API ルートを提供する

Web ページと API ルートの両方が必要な Web アプリケーション内同じポートで提供するには、Go 標準ライブラリによって提供される net/http パッケージを使用してこれを実現できます。重要な原則は、短いパターンよりも長いパターンが優先されることです。

次のコード スニペットを考えてみましょう:

fs := http.FileServer(http.Dir("server/webapps/play_maths"))
http.Handle("/", fs) // Serves static web pages from the specified directory

http.Handle("/api", api.UserRoutes()) // Handles API routes using the UserRoutes function

この例では、ファイル ハンドラーはルート URL パス "/" に登録されています。 "、これは、より長いパターンに一致しないリクエストを処理することを意味します。その後、API ルート ハンドラーが「/api」パスに登録されます。 「/api」は「/」よりも長いパターンであるため、「/api」で始まるリクエストはすべて API ルート ハンドラーに送られ、その他のリクエストはすべてファイル ハンドラーに送られます。

注「/api」ディレクトリ内にファイルが存在しないことを確認することが重要です。優先順位ルールによりファイルにアクセスできなくなるためです。パターン優先機能を活用すると、異なるハンドラーを使用して同じポート上で Web ページと API ルートを提供できます。

以上がGo で異なるハンドル パターンを使用して同じポート上で Web ページと API ルートを提供するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。