1

我想用这个 url 触发下面的路由:

http://localhost:66777/api/productdetails?articlegroup=1&producedat=2012-01-01

我的 - 我猜 - Route 属性有什么问题?

[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; }
}
4

1 回答 1

0

路由模板仅支持“路径”而不支持查询字符串。在上面的示例中,您在“路径”上拥有articlegroupproducedat作为路由变量,因为您在查询字符串中发送这些数据。由于路由模板匹配无法在路径中找到此数据,因此您可能会收到 404 - 这是预期的。

于 2015-07-09T16:25:04.707 回答