我正在尝试通过在get请求中提供ip地址来获取资源。
/api/computers/ip/192.168.10.90 - throws 404 error
/api/computers/ip/192~168~10~90 - hits the method看起来这里的问题是提供IP。那么如何将IP作为GET请求的一部分进行传递呢?
发布于 2016-10-27 14:51:51
一种方法是对ip地址进行编码,并将其作为查询字符串值传递。您的方法将是
[Route("computers/ip")]
public IHttpActionResult GetComputer(string ip)然后发送请求:.../computers/ip?ip=theEncodedIP
您可以从Route方法中删除/ip
[Route("computers")]
public IHttpActionResult GetComputer(string ip)并使用.../computers?ip=theEncodedIP发送请求
发布于 2016-10-27 14:52:37
您必须以编码的形式传递ip,但在Get请求中以querystring的形式传递。您也可以通过HTTP handlers来执行此操作,因此,如果请求符合条件,则可以在请求到达服务器之前使用您的逻辑。
一些链接建议在Web.Config中将runAllManagedModulesForAllRequests设置为true。
<modules runAllManagedModulesForAllRequests="true">启用RunAllManagedModulesForAllRequests将为所有请求启用所有托管模块。因此,图像、PDF和其他所有资源都将在不需要时由服务器处理。
https://stackoverflow.com/questions/40277973
复制相似问题