我在IIS10上托管了一个简单的WebApi解决方案。
我有一个继承ApiController的ProductController类。此类具有方法GetProduct
[HttpGet]
[Route("api/product/{productName}")]
public object GetProduct(string productName)
{
return "abc";
}
当我尝试通过邮递员访问以下api
http://localhost:10000/api/product/com1?query=test
我收到404错误,试图创建一个具有相同名称(com1)的文件夹,但也出现了错误。然后发现我的api中不能包含以下值 CON,PRN,AUX,NUL,COM1,COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9,LPT1,LPT2,LPT3,LPT4,LPT5,LPT6,LPT7,LPT8和LPT9。
我尝试在IIS中添加以下条目 在“请求过滤”下
我错过了什么吗?
答案 0 :(得分:1)
Željko Huber建议的博客为我工作。 blog post
答案 1 :(得分:0)
确保productNamed和productName匹配,最近我也遇到了一个错误,因为名称不匹配..疯狂的哈哈,我正在使用Swagger,当我只需要一个时,它给了我两个字段。 / p>
[HttpGet]
[Route("api/product/{productName}")]
public object GetProduct(string productName)
{
return "abc";
}
答案 2 :(得分:0)
您的路线名称与参数名称不匹配。将它们都设为“ productNamed”或“ productName”。