0

我想提供一个带有过滤器参数的 GetAll api,如下所示:

/api/v1/location/amsterdam/order/?filter=x

但有了这条路线:

routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/v1/location/{location}/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional}
);

这个网址:

/api/v1/location/amsterdam/order/?filter=x

我得到一个例外:

“在与请求匹配的控制器‘订单’上找不到任何操作。”

'order' 控制器有以下方法:

public HttpResponseMessage Get(int id)
public IQueryable<OrderDTO> Get(string filter)
public HttpResponseMessage Get()

当我{location}从路由和 url ( /api/v1/location/order/?filter=x) 中删除段时,请求与方法匹配Get(string filter)

我究竟做错了什么?这样做的正确方法是什么?

4

1 回答 1

0

尝试使用

/api/v1/location/amsterdam/order?filter=x

前面没有用/?

于 2012-07-20T09:21:24.423 回答