Web アプリケーションのシナリオでは、静的 Web ページと API の両方を提供すると便利な場合があります同じポートアドレス上のルート。これにより、合理化されたアーキテクチャと効率的なリソース利用が可能になります。異なるハンドル パターンを使用してこれを実現するには、次の手順に従います。
1.ファイル ハンドラーの登録
静的ファイルを提供するファイル サーバーを登録します。この例では、ルート パス (/):
fs := http.FileServer(http.Dir("server/webapps/play_maths")) http.Handle("/", fs)
2 にある "server/webapps/play_maths" ディレクトリからファイルを提供するために使用されます。 API ハンドラーの登録
API ルートを処理するルーターを作成します。この場合、UserRoutes() はユーザーの作成とすべてのユーザーの取得のためのルートを定義します:
func UserRoutes() *mux.Router { router := mux.NewRouter().StrictSlash(true) router.HandleFunc("/user/create", api.CreateUser) router.HandleFunc("/user/get/all", api.GetAllUsers) return router }
3。 API ハンドラーをパスにアタッチ
API ルーターを特定のルート パス (「/api/」など) に登録します。これにより、「/api/」で始まるすべてのリクエストが API ルートによって処理されるようになります:
http.Handle("/api/", UserRoutes())
注: ルート登録の順序は重要です。長いパターンは短いパターンより優先されます。したがって、一般的なファイル ハンドラーの前に、より具体的な API ルートを登録することが重要です。これにより、API ルートへのリクエストがファイル ハンドラーによって傍受されることがなくなります。
これらの手順に従うことで、異なるハンドル パターンを維持しながら、同じポート アドレスで静的 Web ページと API ルートの両方を提供できます。これにより、複数のサーバー インスタンスの必要性が減り、柔軟性が提供され、パフォーマンスが向上します。
以上が異なるハンドル パターンを使用して同じポート上で Web ページと API ルートを提供するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。