FAQ - flarchitect
Description: Can I change the case of the output? Be default url endpoints are pluralized kebab-case, resources are camelCase and resource fields are snake_case. You can change the default behaviour easily by a...

Hide navigation sidebar
Hide table of contents sidebar
Back to top
Toggle table of contents sidebar

# FAQ

Can I change the case of the output?

Be default url endpoints are `pluralized kebab-case`, resources are `camelCase` and resource fields are `snake_case`.

You can change the default behaviour easily by adding the below global flask configurations:

> API_ENDPOINT_CASE

> API_FIELD_CASE

> API_SCHEMA_CASE

Options are: camel, pascal, snake, kebab, screaming_kebab, screaming_snake

Can I block http methods in my API?

Http method’s can be blocked easily, on a global or a model level. See here for full information on how to block methods.

> API_BLOCK_METHODS

Example blocking all `DELETE` & `POST` methods:

    app.config['API_BLOCK_METHODS'] = ['DELETE', 'POST]

Example blocking `DELETE` & `POST` methods on a specific model:

    class MyModel(Model):
        class Meta:
            block_methods = ['DELETE', 'POST']

Alternatively, If you want to only allow `GET` requests you can turn on the API_READ_ONLY option in the Flask configuration, which will block all but `GET` requests from being served.

Can I extend the functionality of the API?

If you need to perform some custom logic or actions, you can use callbacks. Callbacks are functions that fire:

- before the database query is performed

- before the data is returned to the api

- on an exception being raised

See the below configuration values that can be defined globally as Flask configurations or on a model level.

> API_SETUP_CALLBACK

> API_RETURN_CALLBACK

> API_ERROR_CALLBACK

I use soft deletes, what can I do?

If you need to perform soft deletes, you can use the API_SOFT_DELETE configuration as a Flask global configuration.

Additonal configuration values to set the attribute that holds the delete flag and the value that represents the `active` and `deleted` value is also needed.

See the below configuration values that can be defined globally as Flask configurations or on a model level.

> API_SOFT_DELETE_ATTRIBUTE

> API_SOFT_DELETE_VALUES