Swashbuckle.AspNetCore.SwaggerでSwaggerUiのRootPathを変更する
Swashbuckle.AspNetCore.SwaggerでSwaggerUiのRootPathを変更したい
前回のユースケースで、PathBaseを利用してWebApiのRootPathを変更した場合、SwaggerUi自体のRootPathも変更が必要になります。
UseSwaggerUIのSwaggerUiOptionsのRoutePrefixにサブディレクトリを設定する
個人的にSwashbuckleに関連するConfigureをまとめてるのは以下です。 github.com
UseSwaggerUIのSwaggerUiOptionsのRoutePrefixにサブディレクトリを設定するコード例
.UseSwaggerUI(option => {
option.SwaggerEndpoint(swaggerUiSettings.Url, swaggerUiSettings.Name);
if (swaggerUiSettings.RoutePrefixSettings.IsOverridable) {
option.RoutePrefix = swaggerUiSettings.RoutePrefixSettings.RoutePrefix;
}
});
settingによって切り替えるコードにしているのでswaggerUiSettings.RoutePrefixSettings.IsOverridable
の検査が入っていますが、option.RoutePrefix
に、サブディレクトリを設定することで、SwaggerUIのRootPathを変更することが可能です。
次に
- SwaggerUiからrequestを投げるエンドポイントのRootPath(Swagger a.k.a. OpenApi的にはServersに関するSettings)
の設定を行っていきます。(続きます。)