Как установить обязательные поля в 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)

но все равно поля в теле запроса отображаются как не обязательные

enter image description here

измените свои 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) его, чтобы решить эту проблему

Вернуться на верх