Asp.net Webapi 使用 [FromUri] 和具有两个参数的路由
Asp.net Webapi using [FromUri] with Route that has two parameter
[Route("Street/{ZoneID}/{StreetID}/")]
public HttpResponseMessage GetStreet(int ZoneID,int StreetID,[FromUri] RealEstateFilter Filter)
当从客户端发送跟随请求时,StreetID 始终为 0
http://localhost:1887/Street/34/23295?MunZone=7&StartDate=&EndDate=
但它可以在没有任何可选参数的情况下工作
我应该如何配置 webapi 才能读取 [Fromuri]
调用 Street/34/23295?MunZone=7&StartDate=&EndDate=
我的控制器定义为:
public class SomeController : ApiController
{
[Route("Street/{ZoneID}/{StreetID}/")]
public HttpResponseMessage GetStreet(int ZoneID, int StreetID, [FromUri] RealEstateFilter Filter)
{
return null;
}
给予:
当我将 RealEstateFilter 定义为:
public class RealEstateFilter
{
public int? MunZone { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
}
我的 web.api 版本是:
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.0" targetFramework="net451" />
<package id="Microsoft.Net.Compilers" version="1.0.0" targetFramework="net451" developmentDependency="true" />
我从头开始创建了我的 Web.Api 项目,这是其中唯一的东西。是否有其他干扰路线?
[Route("Street/{ZoneID}/{StreetID}/")]
public HttpResponseMessage GetStreet(int ZoneID,int StreetID,[FromUri] RealEstateFilter Filter)
当从客户端发送跟随请求时,StreetID 始终为 0
http://localhost:1887/Street/34/23295?MunZone=7&StartDate=&EndDate=
但它可以在没有任何可选参数的情况下工作
我应该如何配置 webapi 才能读取 [Fromuri]
调用 Street/34/23295?MunZone=7&StartDate=&EndDate=
我的控制器定义为:
public class SomeController : ApiController
{
[Route("Street/{ZoneID}/{StreetID}/")]
public HttpResponseMessage GetStreet(int ZoneID, int StreetID, [FromUri] RealEstateFilter Filter)
{
return null;
}
给予:
当我将 RealEstateFilter 定义为:
public class RealEstateFilter
{
public int? MunZone { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
}
我的 web.api 版本是:
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.0" targetFramework="net451" />
<package id="Microsoft.Net.Compilers" version="1.0.0" targetFramework="net451" developmentDependency="true" />
我从头开始创建了我的 Web.Api 项目,这是其中唯一的东西。是否有其他干扰路线?