Допустим, что есть такая DTO:
public class MyDto
{
[Required]
public string First { get; set; }
public string[] Second { get; set; }
}
Вопрос: как валидировать только структуру запроса, но игнорировать
[Required] поле (сразу отвечу на вопрос, что
Required у него стоит для Swagger'a и убирать его не хотелось бы), т.к. дальше будет этим заниматься FluentValidation
Т.е. запрос вида:
{"first": "", "second": []}
Будет валидный
А запрос вида:
{"first": 1, "second": []}
Уже не валидный, т.к. first теперь имеет тип int, а ожидалось string, эту ошибку и нужно будет показать клиенту и не более.
Пробовал переопределить всё это дело через
ConfigureApiBehaviorOptions =>
InvalidModelStateResponseFactory, но туда попадают и
Required (и подобные) ошибки.
Использую Net 7.