Маршрутизация с действием после параметра id в Web API

В web api маршрут по умолчанию:/api/locations/123?days=5

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

Но что, если бы я хотел, чтобы маршрут выглядел так/api/locations/123/events?days=5 все еще будучи в состоянии ударитьLocationsController с таким маршрутом/api/locations/123?state=md

контроллер:

public class LocationsController : ApiController {

    // GET api/locations/123/events?days=5
    public IEnumerable GetEventsByDays(int idLocation, int days) {
        // do stuff
    }

    // GET api/locations/123?state=md
    public IEnumerable GetLocationsByState(string state) {
        // do stuff
    }
}

Здесь действительно два вопроса:

Имеет ли смысл иметьLocationsController который возвращает события или должен быть совершенно отдельный контроллер для этого?Как бы маршрут вWebApiConfig быть настроен на такие маршруты?

Ответы на вопрос(2)

Ваш ответ на вопрос