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.