WebAPI:RouteAttribute的最小/最大双精度数

时间:2016-03-20 20:20:32

标签: asp.net-web-api asp.net-web-api2 asp.net-web-api-routing

我有以下API方法:

[Route("GetEditorialRequestsByCoordinates/{lat:double}/{lng:double}")]
[AutomapperExceptionApiFilterAttribute]
public HttpResponseMessage GetEditorialRequestsByCoordinates(double lat, double lng)
{

}

它适用于以下请求:

GET /v1/api/request/GetEditorialRequestsByCoordinates/48.999/2.777/

但我想为lat和lng添加限制(最小和最大)。

请遵循以下文章:http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2

  

max匹配具有最大值的整数。 {X:最大(10)}

     

min匹配具有最小值的整数。 {X:分钟(10)}

尝试创建这样的路线:

[Route("GetEditorialRequestsByCoordinates/{lat:double:min(-90):max(90)}/{lng:double:min(-180):max(180)}")]

我得到404错误。为什么呢?

1 个答案:

答案 0 :(得分:2)

您提供的文档说明函数适用于整数

max:匹配具有最大值的整数。 {x:max(10)}

我认为它不适用于双倍。

你可以看到这个link来创建你自己的IHttpRouteConstraint。