【问题标题】:Web API and Attribute routingWeb API 和属性路由
【发布时间】:2024-01-12 22:05:01
【问题描述】:

我是 web api 和属性路由的新手。只需从这里阅读一篇文章。 http://www.binaryintellect.net/articles/a2bf5c05-18a6-44b3-9f73-5896b40f0dff.aspx

查看他们的 web api 操作的属性路由

[Route("api/[controller]/Logout")]
[HttpPost]
public IActionResult Logout()
{
    HttpContext.SignOutAsync(
CookieAuthenticationDefaults.AuthenticationScheme);
    return new ObjectResult("Success");
}

我有非常基本的问题。 这个属性路由没问题[Route("api/[controller]/Logout")]控制器名称应该用{}或[]包裹?

在使用令牌时是否必须使用身份?

如果我们使用表单身份验证,我们不能生成令牌吗?

我是非常初级的开发人员。所以请帮助我了解知识。

谢谢

【问题讨论】:

  • 之前 {} 用于模板,现在我看到 [] 用作模板,请参阅旧代码 [Route("api/restuarant/{restaurantName}/terminals")] 我发布的代码与 .net 核心有关?

标签: c# asp.net-web-api token


【解决方案1】:

为方便起见,属性路由通过将标记括在方括号 ([, ]) 中来支持标记替换。标记 [action]、[area] 和 [controller] 将替换为定义路由的操作中的操作名称、区域名称和控制器名称的值。

[controller] 标记被替换为定义操作的控制器的名称。

请参阅Token replacement in route templates 了解更多信息。

【讨论】: