Omm*_*mmy 4 c# asp.net asp.net-web-api
我正在尝试使用WebApi并使用两种方法创建了一个控制器.
我先从以下方法开始:
[HttpGet]
[Route("car/{registration}")]
public object GetCarByRegistration(string registration) {
return null;
}
Run Code Online (Sandbox Code Playgroud)
在调试时我在return null;测试的url 上设置了一个断点,http://localhost:51245/api/car/yw25jdk它工作正常,visual studio停在我的断点处,registration变量在url中是相同的值.
但是当我添加以下方法时:
[HttpGet]
[Route("car/{serial}")]
public object GetCarBySerial(string serial) {
return null;
}
Run Code Online (Sandbox Code Playgroud)
第一个网址停止工作,我开始了500 - Internal Server Error.如果我采用第二种方法,那么第一种方法再次起作用.
我无法理解为什么第二种方法打破了第一种方法.
有人可以向我解释一下吗?
小智 7
那就好了,因为当你去url时,ASP不知道使用哪种方法, http://localhost:51245/api/car/yw25jdk因为两种方法都说他们希望将字符串作为参数.
ASP怎么知道之间的区别/car/{registration}和/car/{serial],因为他们两个都是字符串?
您应该更改它们的路由,以使其正常工作
| 归档时间: |
|
| 查看次数: |
4719 次 |
| 最近记录: |