如何将IP地址作为URL参数传递给Web API?

3
我的一个Web API接收IP地址作为URL参数(字符串类型),并对其进行处理。问题在于,我无法将IP地址作为URL的一部分传递。
这是一个HTTP GET请求。当我尝试使用http://localhost/app/dosomethingwiththisip/10.20.128.0时会失败,而http://localhost/app/dosomethingwiththisip/10会成功(尽管它不能完成所需的操作)。
Web API方法被定义为启用属性路由的形式:
[Route("dosomethingwiththisip/{ipAddress}")]
[HttpGet]
public bool dosomethingwiththisip(string ipAddress)
{
}

我做错了什么吗?


请求使用的IP失败了吗?出现了什么错误信息? - CodeCaster
它以 HTTP 404 失败。 - Askar Hussain
HTTP错误404.0 - 未找到 您正在寻找的资源已被删除,其名称已更改或暂时不可用。 - Askar Hussain
1
感谢@Pharylon的提示。这很有帮助;我将使用尾部斜杠。这证明了搜索领域仍有改进的空间 :) - Askar Hussain
@Pharylon,我仍然认为这个明确的问题应该存在,因为另一个问题并不那么明确。 - Askar Hussain
2个回答

3

-2

谢谢。有所改善,但我想路由解析仍然存在问题,{"Message":"找不到与请求URI'http://localhost/app/users/dosomethingwiththisip/?10.20.128.0'匹配的HTTP资源。","MessageDetail":"找不到与控制器名称'users'匹配的类型。"} - Askar Hussain
请了解ASP.NET MVC和WebAPI的路由(或者一般的URL重写/路由)。 - CodeCaster
URL 重写仍然基于 URL。破碎的技巧并不能改变 Web 服务器试图加载名为 10.20.128.0 的页面这一事实。 - Fuzzy Logic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接