我想用这个网址触发以下路线:
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; }
}
答案 0 :(得分:0)
路由模板仅支持“路径”而不支持查询字符串。在上面的示例中,您在{path'上有articlegroup
和producedat
作为路由变量,您在查询字符串中为这些变量发送数据。由于路径模板匹配无法在路径中找到此数据,因此您可能会获得404 - 这是预期的。