He usado enrutadores Express (marco de desarrollo web para node.js) y me gusta el estilo de enrutamiento. A continuación un ejemplo de algunas rutas.
apiRouter.get("/project/:id",auth.verifyEditor,routes.getProject); apiRouter.put("/project",auth.verifyEditor,routes.updateProject); apiRouter.delete("/project/:id",auth.verifyEditor,routes.deleteProject); apiRouter.get("/project/:id/page/:pageId", auth.verifyEditor,auth.verifyEditor, routes.getPage); apiRouter.get("/project/:id/page",auth.verifyEditor,routes.getPages); apiRouter.put("/project/:id/page",auth.verifyEditor,routes.updatePage); Define rutas con verbo (como .get( ... ) ), ruta ( /project ) y parámetros de ruta ( :id ), middleware ( auth.verifyEditor ) y el controlador ( routes.updatePage ) Lo que más me gusta de esto el estilo es
El enrutamiento en Asp.Net MVC se logra de muchas formas (y más elaboradas), como el enrutamiento de atributos. Algunos aspectos hacen que este estilo de enrutamiento sea menos atractivo para mí:
Sé que es posible definir rutas explícitas como:
routes.MapRoute(name:"CustomerList", template:"api/customer",defaults: new { controller = "Customer", action = "Get" });Pero no estoy seguro de que sea como nadar contra la corriente y no sé el impacto en el rendimiento.
Por lo tanto, mi pregunta: ¿hay un estilo de enrutamiento más similar a Express posible y factible en Asp.Net? ¿O sugeriría otro enfoque (preferiblemente con aspectos clave "centralizados", "no basados en cadenas")