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

时间:2015-02-26 20:50:47

标签: asp.net-mvc asp.net-web-api asp.net-web-api2

我的一个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)
{
}

我做错了吗?

2 个答案:

答案 0 :(得分:1)

我最终选择了一个简单的解决方案,在IP地址后面的URL末尾添加一个斜杠字符。感谢@Pharylon对类似问题的提示,Dots in URL causes 404 with ASP.NET mvc and IIS

答案 1 :(得分:-2)

如果您指定的是url参数而不是文件或目录名称,那么您应该在参数列表前加上?所以网络服务器知道。它无法分辨你的意图。

尝试:http://localhost/app/dosomethingwiththisip/?10.20.128.0