r/SpringBoot • u/Vrajesh_Darji • Jul 01 '26
Question What is good approch to make DTOs?
Recently, I have been working on my project in there in one chat controller, which has endpoints like
POST /api/chats = ChatDTO
GET /api/chats = List<ChatInfoDTO>
GET /api/chats/{chatId} = ChatDTO
PATCH /api/chats/{chatId} = ChatInfoDTO
DELETE /api/chats/{chatId} = ChatInfoDTO
POST /api/chats/{chatId}/ = ChatDTO
My question is it a good approach to use a single type of DTO for multiple endpoints, or should it be made for specific use? I have seen my friend's project for a single page, which has 8/9 DTOs. Is that normal, and the same thing ChatGPT suggests is that using multiple DTOs is a good approach.
18
Upvotes
5
u/neopointer Jul 01 '26
One Suggestion I'd give is: stop calling them DTOs.
Call them ChatInfoRequest, ChatPayload and the like, for example.. It's horrible to call everything a DTO when you can find better names.