Mesmo que uma pequena quantidade de dados seja necessária de todo o objeto, não há como o REST responder sem enviar o objeto inteiro.[...]

Poderia elaborar melhor? Da forma que entendi, um simples DTO para cada endpoint resolve esse problema.

Você está correto em sua suposição de que um DTO (Data Transfer Object) pode ser uma maneira de resolver o problema de enviar dados desnecessários em uma resposta de uma API REST. Um DTO é um objeto que representa apenas os dados que serão enviados entre os sistemas, sem a lógica de negócio ou outras informações desnecessárias. Isso significa que é possível criar um DTO para cada endpoint da API, que inclua apenas os dados que são realmente necessários para esse endpoint.

Por exemplo, se uma API tem um recurso "usuário" que é identificado por sua URL, um DTO para esse recurso pode incluir apenas os campos "nome" e "email". Isso significa que, quando o cliente faz uma requisição para essa URL, a API envia apenas os dados do nome e do email do usuário, em vez de enviar todos os dados do usuário, incluindo informações desnecessárias como senha e data de registro.

Usar DTOs para filtrar os dados enviados pela API pode ser uma maneira eficiente de evitar o envio de dados desnecessários. No entanto, é importante lembrar que isso pode adicionar complexidade à API e ao seu uso, pois é necessário criar e gerenciar os DTOs para cada endpoint. Além disso, é importante garantir que os DTOs sejam atualizados sempre que os dados que precisam ser enviados mudarem, o que pode ser um trabalho adicional. Por essas razões, é importante avaliar cuidadosamente se o uso de DTOs é adequado para o seu caso de uso específico.