I absolutely hate the approach of scattering routing instructions everywhere via annotations. Nothing beats a router.go file with all the endpoints declared in the same place. Routing annotations is a bad idea that caught up just because it looks clever.
Looking for the handler for ˋGET /foo/{fooID}/barˋ is terrible in a codebase using annotations.
At work they force me to use NestJS. Want to make a new GET endpoint? Find the controller class, add a method, add a get decorator, add an authentication decorator, add a param decorator, add openapi decorators, and if you are feeling helpful, add openapi decorators to every property of every object you take in or return.
I hate decorators so much, just let me use regular data as code.
Looking for the handler for ˋGET /foo/{fooID}/barˋ is terrible in a codebase using annotations.