I noticed that some of the application "logic" is inside mvc controllers like the ProfileController or FileController. I was now wondering why? My guess is, that those APIs are consumed by 3rd party javascript libraries and therefore must not wrap their results in DTOs.
2 Answer(s)
-
0
Could I also suggest that some form of Mediator pattern is considered here to keep the controllers thin? And also to make maintenance upgrades easier?
A .NET mediator implementation [https://github.com/jbogard/MediatR]) can be found here. I have also asked for this elsewhere in ASP.NET boilerplate [https://github.com/aspnetboilerplate/aspnetboilerplate/issues/837])
-
0
Hi,
These controllers has 'web specific' logic like uploading files. That's why we could not implement them as regular controllers. This app logic is specific to web apps. If you will develop am native mobile app, you probably upload files in a different way (for example, sending byte arrays). AccountController is also similar. But, honestly, some of it's logic could be moved to application layer.
Have a nice day.