Sya*_*hya 11 c# swagger asp.net-core
我正在构建与Swagger集成的Asp.Net Core 2.x web api.为了访问招摇,我不得不将/ swagger附加到网址,例如.https://mywebapi.azurewebsites.net/swagger/
如何将https://mywebapi.azurewebsites.net/重定向到https://mywebapi.azurewebsites.net/swagger/?
Sya*_*hya 18
从Nuget 安装Microsoft.AspNetCore.Rewrite
在Startup.cs中
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
Run Code Online (Sandbox Code Playgroud)
之前
app.UseMvc();
Run Code Online (Sandbox Code Playgroud)
加
var option = new RewriteOptions();
option.AddRedirect("^$", "swagger");
app.UseRewriter(option);
Run Code Online (Sandbox Code Playgroud)
小智 16
在Startup.cs中
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
Run Code Online (Sandbox Code Playgroud)
您应该有设置Swagger UI选项的部分.添加RoutePrefix选项并将其设置为空字符串.
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My service");
c.RoutePrefix = string.Empty; // Set Swagger UI at apps root
});
Run Code Online (Sandbox Code Playgroud)
像这样创建一个默认控制器:
using Microsoft.AspNetCore.Mvc;
namespace Api
{
[ApiExplorerSettings(IgnoreApi = true)]
public class DefaultController : Controller
{
[Route("/")]
[Route("/docs")]
[Route("/swagger")]
public IActionResult Index()
{
return new RedirectResult("~/swagger");
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何网址“/”、“/docs”或“/swagger”都被重定向到“/swagger”。
小智 6
在 Startup.cs 上,之后:
app.UseSwaggerUI(options =>
{
options.SwaggerEndpoint("/swagger/v1/swagger.json", "API V1");
Run Code Online (Sandbox Code Playgroud)
添加 :
options.RoutePrefix = string.Empty;
Run Code Online (Sandbox Code Playgroud)
这将使您的根网址成为主要的 api 网址。
| 归档时间: |
|
| 查看次数: |
6224 次 |
| 最近记录: |