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:

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.

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.