Breaking: Split generated DTOs into Parameter DTOs and Response DTOs.
This eliminates the properties that are present in input positions but are never actually mapped out of the DTO to the domain model. Doing so prevents ASP.NET Core's API Explorer from going crazy while traversing [FromForm] parameters, which produces things like this and can even go out of control and use dozens of gigabytes of memory:
Description
Breaking: Split generated DTOs into Parameter DTOs and Response DTOs.
This eliminates the properties that are present in input positions but are never actually mapped out of the DTO to the domain model. Doing so prevents ASP.NET Core's API Explorer from going crazy while traversing [FromForm] parameters, which produces things like this and can even go out of control and use dozens of gigabytes of memory: