使用属性路由和 FromUri 不会触发路由
Route is not triggerd with Attribute Routing and FromUri
我想用这个 url:
触发下面的路由
http://localhost:66777/api/productdetails?articlegroup=1&producedat=2012-01-01
我的 - 我猜 - 路由属性有什么问题?
[Route("api/productdetails/{articlegroup:int}/{producedat:datetime}")]
[HttpGet]
public async Task<IHttpActionResult> GetProductDetails([FromUri] ProductDetailsRequestDTO dto)
{
//...
}
public class ProductDetailsRequestDTO
{
public int ArticleGroup { get; set; }
public DateTime ProducedAt { get; set; }
}
路由模板仅支持 'path',不支持查询字符串。在上面的示例中,您将 articlegroup
和 producedat
作为 'path' 上的路由变量,因为您在查询字符串中发送这些变量的数据。由于路由模板匹配无法在路径中找到此数据,您可能会收到 404 - 这是预期的。
我想用这个 url:
触发下面的路由http://localhost:66777/api/productdetails?articlegroup=1&producedat=2012-01-01
我的 - 我猜 - 路由属性有什么问题?
[Route("api/productdetails/{articlegroup:int}/{producedat:datetime}")]
[HttpGet]
public async Task<IHttpActionResult> GetProductDetails([FromUri] ProductDetailsRequestDTO dto)
{
//...
}
public class ProductDetailsRequestDTO
{
public int ArticleGroup { get; set; }
public DateTime ProducedAt { get; set; }
}
路由模板仅支持 'path',不支持查询字符串。在上面的示例中,您将 articlegroup
和 producedat
作为 'path' 上的路由变量,因为您在查询字符串中发送这些变量的数据。由于路由模板匹配无法在路径中找到此数据,您可能会收到 404 - 这是预期的。