跳到主要内容
版本:0.6.0

Scalar 配置

Sharkable 默认在 /scalar/v1 提供 Scalar API 参考 UI。你可以通过 ConfigureScalar() 自定义其外观和行为。

默认设置

app.UseShark();
// Scalar UI 位于 /scalar/v1

自定义 Scalar

使用 ConfigureScalar() 传入修改 ScalarOptions 的回调:

builder.Services.AddShark(opt =>
{
opt.ConfigureScalar(scalar =>
{
scalar
.WithTitle("My API")
.WithTheme(ScalarTheme.Purple)
.WithDarkMode(true);
});
});

自动认证配置

当你通过 ConfigureJwt() 配置了 JWT Bearer 认证后,Sharkable 会自动在 Scalar UI 中预填 Bearer Token 字段,方便立即测试接口:

builder.Services.AddShark(opt =>
{
opt.ConfigureJwt("https://your-issuer", ["my-api"]);
// Scalar 会自动配置 Bearer 认证(带占位 Token)
});

同样,设置了 ApiKeys 时,API Key 认证方案也会自动配置(使用占位值):

builder.Services.AddShark(opt =>
{
opt.ApiKeys = ["sk-my-secret-key"];
// Scalar 会自动配置 API Key 认证(使用占位值,不会泄露实际密钥)
});

常用选项

opt.ConfigureScalar(scalar =>
{
// 主题
scalar.WithTheme(ScalarTheme.Kepler);

// 强制深色模式
scalar.WithDarkModeToggle(false);
scalar.WithForceThemeMode(ThemeMode.Dark);

// 隐藏部分 UI
scalar.HideModels(true);
scalar.HideDownloadButton(true);
scalar.HideSearch(true);

// 默认 HTTP 客户端
scalar.WithDefaultHttpClient(ScalarTarget.CSharp, ScalarClient.HttpClient);

// 服务器地址
scalar.WithBaseServerUrl("https://api.example.com");

// 自定义 CSS
scalar.WithCustomCss(".sidebar { background: #f0f0f0; }");
});

完整选项列表请参考 Scalar.AspNetCore 文档