Sto sviluppando un ASP.NET MVC Web Api 2 con .NET Framework 4.5.1 e C #.
Ho queste entità nel database:
- Utenti, che sono membri di gruppi.
- Gruppi.
- Messaggi. Gli utenti possono inviare messaggi a un gruppo.
Ho questa rotta:
config.Routes.MapHttpRoute(
    name: "GroupMessagesApiRoute",
    routeTemplate: "api/groups/{groupId}/messages/{messageId}",
    defaults: new
    {
        controller = "GroupMessages",
        messageId = RouteParameter.Optional
    }
);
 Con questo percorso posso ottenere tutti i messaggi del gruppo e  un messaggio , con   {messageId}   , inviato a   {goupId}   . 
 Ma ora voglio ottenere  tutti i messaggi  con un ID superiore a   {messageId}   . Come posso farlo? 
Ho pensato di creare un'altra strada come questa:
config.Routes.MapHttpRoute(
    name: "GroupMessagesApiRoute",
    routeTemplate: "api/groups/{groupId}/messages/{messageId}/unread",
    defaults: new
    {
        controller = "GroupUnreadMessages"
    }
);
Avrò bisogno di un altro controller, 'GroupUnreadMessages, per ottenere tutti i messaggi non letti. Ma non so se questo è l'approccio migliore.