Use a piece of middleware to enrich a Data Transfer Object. An ASP.NET Core example. When developing true REST APIs, you should use hypermedia controls (i.e. links) to guide clients to the resources they need. I've always felt that the code that generates these links tends to make otherwise readable Controller methods unreadable.