Как установить обязательные поля в PATCH API в Swagger UI
Я использую drf-spectacular и вот код в settings.py
SPECTACULAR_SETTINGS = {
'TITLE': 'TITLE',
'VERSION': '1.0.0',
'SCHEMA_PATH_PREFIX_TRIM': True,
'PREPROCESSING_HOOKS': ["custom.url_remover.preprocessing_filter_spec"],
}
в serializers.py
class ChangePasswordSerilaizer(serializers.Serializer):
current_password = serializers.CharField(write_only=True, min_length=8, required=True)
new_password = serializers.CharField(write_only=True, min_length=8, required=True)
confirm_new_password = serializers.CharField(write_only=True, min_length=8, required=True)
но все равно поля в теле запроса отображаются как не обязательные
измените свои SPECTACULAR_SETTINGS
SPECTACULAR_SETTINGS = {
'TITLE': 'APP NAME',
'VERSION': '1.0.0',
'SCHEMA_PATH_PREFIX_TRIM': True,
'PREPROCESSING_HOOKS': ["custom.url_remover.preprocessing_filter_spec"],
'COMPONENT_SPLIT_PATCH': False,
}
по умолчанию COMPONENT_SPLIT_PATCH
по умолчанию true
в SPECTACULAR_SETTINGS
, поэтому вы можете просто переопределить ('COMPONENT_SPLIT_PATCH': False
) его, чтобы решить эту проблему