gpt4 book ai didi

c# - 无法识别 Web API 路由

转载 作者:太空宇宙 更新时间:2023-11-03 21:39:12 26 4
gpt4 key购买 nike

我有:

[RoutePrefix("teamone/players")]

..........................
[HttpPost("{key:regex([A-Za-z0-9]{32})}/AccessToken", RouteName = "MakeToken")]
public HttpResponseMessage MakeToken(string key)
{
key = key + "5555";
return new HttpResponseMessage(HttpStatusCode.OK);
}

当我尝试在 Postman REST 客户端中访问此 URL 时:

http://localhost:4566/teamone/players/243445/AccessToken

我得到一个 404。

我有

configuration.MapHttpAttributeRoutes();

我还缺少什么?同一 Controller 中的所有其他路由均正常工作。

最佳答案

您的正则表达式似乎导致输入不匹配。看起来您还在使用 RC 版本的 Web API。我们现在已经公开提供了 Web API 的 RTM 版本,您应该计划升级到它。属性路由经历了从 RC 到 RTM 的重大变化。

下面的一段代码应该可以帮助您确定您的正则表达式是否确实与输入匹配。如果匹配但 web api 不匹配,则问题出在 webapi 上,否则我认为您应该更改正则表达式。

Regex regex = new Regex("[A-Za-z0-9]{32}", RegexOptions.CultureInvariant | RegexOptions.IgnoreCase | RegexOptions.Compiled);
bool isMatch = regex.IsMatch("243445");

关于c# - 无法识别 Web API 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20226030/

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