使用属性路由和 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',不支持查询字符串。在上面的示例中,您将 articlegroupproducedat 作为 'path' 上的路由变量,因为您在查询字符串中发送这些变量的数据。由于路由模板匹配无法在路径中找到此数据,您可能会收到 404 - 这是预期的。