gpt4 book ai didi

c# - 为特定操作创建不同的路径

转载 作者:行者123 更新时间:2023-11-30 13:26:00 25 4
gpt4 key购买 nike

我正在开发一个 asp.net 5 mvc api,我目前正在开发 Accounts Controller。

因为我在许多不同的地方看到有使用 /api/Token 路由到 web api 中的登录的约定。我想路由到没有帐户前缀的特定方法,我不想使用不同的 Controller ,我更喜欢在 Startup.cs 中使用属性而不是路由以避免将来混淆。

这是我目前拥有的

[Route("api/[controller]")]
public class AccountsController : Controller
{
[HttpPost("login")]
public async Task<JwtToken> Token([FromBody]Credentials credentials)
{
...
}

[HttpPost]
public async Task CreateUser([FromBody] userDto)
{
...
}
}

最佳答案

通过属性路由,您可以在 Action 的路由属性上使用 波浪号 (~) 来覆盖 Controller 的默认路由如果需要:

[Route("api/[controller]")]
public class AccountsController : Controller {

[HttpPost]
[Route("~/api/token")] //routes to `/api/token`
public async Task<JwtToken> Token([FromBody]Credentials credentials) {
...
}

[HttpPost]
[Route("users")] // routes to `/api/accounts/users`
public async Task CreateUser([FromBody] userDto) {
...
}
}

关于c# - 为特定操作创建不同的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34709085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com