nestjsx / nest-router

Router Module For Nestjs Framework 🚦 🚀
MIT License
619 stars 36 forks source link

Require controller and http method instead of module #174

Open shellking4 opened 2 years ago

shellking4 commented 2 years ago

Not an issue but I have a suggestion.

Since this library is part of Nestjs core, It would be great to have a feature allowing us to just define our method in controllers without having the @Get(), @Post parts of the stuff. Then we'll have a separate route file leveraging this library. The route file would have a structure like this:

const routes: Routes = [  
    {
        path: '/my-awesome-route',
        // Here we have a syntax "ControllerClass:MethodToCallInController"
        controller: 'MyAwesomeRouteController:getSomeAwesomeThing',
        method: 'GET'
    }
]

My controller would then go like this:

// Maybe this @Controller could also be get rid of when this feature got implemented
@Controller()
export class MyAwesomeRouteController {

  constructor()  { }

  async getSomeAwesomeThing(): Promise<AwesomeThing> {
    return { "data": "some awesome things" }
  }

}

Thank you so much for all you're doing to improve our DX.

shekohex commented 2 years ago

That could work, we can derive the @Method for them form the information we have, but what you would do with the extra functionality provided by the @Get for example? Yeah that could work, but it will be so limited. wdyt?