基本上,當我創建專案并創建一個功能 API 時,用戶可以在其中從資料庫中創建、洗掉等資訊并運行它,我得到了可用于測驗該 API 的 swagger UI。
現在我知道它有效,我想開始在網站上實際構建頁面而不是大搖大擺。但是,即使當我嘗試將 web.config 檔案中的默認頁面設定為我的 Index.cshtml 時,它也會大搖大擺。
基本上我的問題是,我該如何改變這個?
uj5u.com熱心網友回復:
首先,您需要洗掉 swagger 啟動設定。進入屬性檔案夾并打開launchSettings.json檔案,洗掉或清除launchUrl屬性。

然后,您可以創建一個wwwroot檔案夾并添加默認頁面:在默認頁面中,您可以添加一個超鏈接以導航到 swagger UI。

之后,將以下代碼添加到Configure方法中(如果您使用的是Asp.net 6,則可以將它們添加到Program.cs檔案中):
app.UseHttpsRedirection();
var options = new DefaultFilesOptions();
options.DefaultFileNames.Clear();
options.DefaultFileNames.Add("mydefault.html");
app.UseDefaultFiles(options);
app.UseStaticFiles();
app.UseRouting();
最后,運行API應用,結果如下:

此外,如果您使用的是MVC視圖,您可以參考以下步驟:
[注意] 使用此方法,仍需移除與 swagger 相關的啟動設定。
添加帶有索引操作的 HomeController。
添加索引視圖頁面
在ConfigureServices中注冊控制器和查看服務:
services.AddControllersWithViews();配置端點
app.UseEndpoints(endpoints => { endpoints.MapControllers(); endpoints.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); });
然后,在運行 API 應用程式時,它將顯示 Home Controller Index View 頁面。
uj5u.com熱心網友回復:
首先,在專案根目錄中創建一個具有名稱的目錄wwwroot- 它可以是任何名稱并在其中添加您的 HTML 檔案 - 您需要一個index.html檔案。如果您使用的是 .NET 5,請修改您的 startup.cs,如果您使用的是 .NET 6,請修改您的 program.cs 并添加以下代碼。
app.UseDefaultFiles();
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = new PhysicalFileProvider(
Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot"))
});
現在您運行該應用程式,您將能夠在瀏覽器中看到 index.html。注意:有時即使您更改檔案,瀏覽器也會快取 swagger UI - 要解決此問題,請打開瀏覽器開發人員工具并右鍵單擊重新加載/重繪 按鈕 - 您將獲得 3 個選項,選擇該Empty Cache and Hard Reload選項。它會解決你的問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/382427.html
