相关疑难解决方法(0)

如何在Asp.Net Core 2.x中将root重定向到swagger?

我正在构建与Swagger集成的Asp.Net Core 2.x web api.为了访问招摇,我不得不将/ swagger附加到网址,例如.https://mywebapi.azurewebsites.net/swagger/

如何将https://mywebapi.azurewebsites.net/重定向到https://mywebapi.azurewebsites.net/swagger/

c# swagger asp.net-core

11
推荐指数
4
解决办法
6224
查看次数

vscode launch.json 调试并打开特定的url

给定以下自动生成的 Visual Studio Code launch.json 配置:

我希望localhost:5000/swagger在调试时启动浏览器,但我已经尝试了六种不同的东西,但没有任何效果。它只是打开到localhost:5000. 我在这里缺少什么?除了按 Ctrl+空格键查看列表之外,没有关于所有可用属性的通用文档(我可以找到),这没有多大帮助。

我遗漏了我试图让它按照我想要的方式工作的失败尝试......

{
    "name": "Launch Demo.Api",
    "type": "coreclr",
    "request": "launch",
    "preLaunchTask": "build",
    "program": "${workspaceRoot}/Demo.Api/bin/Debug/netcoreapp2.1/Demo.Api.dll",
    "args": [],
    "cwd": "${workspaceRoot}/Demo.Api",
    "stopAtEntry": false,
    "launchBrowser": {
        "enabled": true,
        "args": "${auto-detect-url}",
        "windows": {
            "command": "cmd.exe",
            "args": "/C start ${auto-detect-url}"
        },
        "osx": {
            "command": "open"
        },
        "linux": {
            "command": "xdg-open"
        }
    },
    "env": {
        "ASPNETCORE_ENVIRONMENT": "Development"
    }
}
Run Code Online (Sandbox Code Playgroud)

debugging visual-studio-code

10
推荐指数
3
解决办法
7888
查看次数

如何更改ASP.NET Core API中的默认控制器和操作?

我正在创建一个ASP.NET Core API应用程序,当前,当创建一个新项目时,会有一个名为Values的控制器,默认情况下,API会在您运行时打开它.因此,我删除了该控制器并添加了一个名为Intro的新控制器,并在其中添加了一个名为Get的操作.在Startup.cs文件中,我有以下几行代码:

app.UseMvc(opt =>
{
    opt.MapRoute("Default",
        "{controller=Intro}/{action=Get}/{id?}");
});
Run Code Online (Sandbox Code Playgroud)

而我的Intro控制器看起来像这样:

[Produces("application/json")]
[Route("api/[controller]")]
[EnableCors("MyCorsPolicy")]
public class IntroController : Controller
{
    private readonly ILogger<IntroController> _logger;

    public IntroController(ILogger<IntroController> logger)
    {
        _logger = logger;
    }

    [HttpGet]
    public IActionResult Get()
    {
        // Partially removed for brevity
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行API时,它默认尝试导航到/api/values,但由于我删除了值控制器,现在我得到404未找到错误.如果我手动然后导航到/api/intro,我将获得从Intro控制器内的Get操作提供的结果.如何在API运行时(例如通过Debug-> Start Without Debugging)确保默认情况下从Intro控制器获取Get操作?

c# asp.net-web-api asp.net-core-webapi asp.net-core-2.0

7
推荐指数
1
解决办法
6910
查看次数