soh*_*hum 40 c# asp.net-web-api attributerouting asp.net-web-api-routing
我正在尝试使用Web API 2属性路由来设置自定义API.我的路由工作,我的函数被调用,但由于某种原因,我需要传入我的第一个参数,以便一切正常工作.以下是我要支持的网址:
http://mysite/api/servicename/parameter1
http://mysite/api/servicename/parameter1?parameter2=value2
http://mysite/api/servicename/parameter1?parameter2=value2¶meter3=value3
http://mysite/api/servicename/parameter1?parameter2=value2¶meter3=value3&p4=v4
Run Code Online (Sandbox Code Playgroud)
最后3个URL可以工作,但第一个说"在控制器名称上没有找到与请求相匹配的操作".
我的控制器看起来像这样:
public class MyServiceController : ApiController
{
[Route("api/servicename/{parameter1}")]
[HttpGet]
public async Task<ReturnType> Get(string parameter1, DateTime? parameter2, string parameter3 = "", string p4 = "")
{
// process
}
}
Run Code Online (Sandbox Code Playgroud)
Kir*_*lla 67
Web API需要显式设置可选值,即使对于可以为空的类型...因此您可以尝试设置以下内容,您应该看到第一个请求成功
DateTime? parameter2 = null
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34707 次 |
| 最近记录: |