mirror of
https://github.com/long2ice/fastapi-cache.git
synced 2026-03-24 20:47:54 +00:00
Inject dependencies using a namespace
Instead of assuming that the Request and Response injected keyword arguments can be named `request` and `response`, use namespaced keyword names starting with a double underscore. By default the parameter names now start with `__fastapi_cache_` and so are a) clearly marked as internal, and b) highly unlikely to clash with existing keyword arguments. The prefix is configurable in the unlikely event that the names would clash in specific cases.
This commit is contained in:
13
README.md
13
README.md
@@ -98,9 +98,22 @@ expire | int, states a caching time in seconds
|
||||
namespace | str, namespace to use to store certain cache items
|
||||
coder | which coder to use, e.g. JsonCoder
|
||||
key_builder | which key builder to use, default to builtin
|
||||
injected_dependency_namespace | prefix for injected dependency keywords, defaults to `__fastapi_cache`.
|
||||
|
||||
You can also use `cache` as decorator like other cache tools to cache common function result.
|
||||
|
||||
### Injected Request and Response dependencies
|
||||
|
||||
The `cache` decorator adds dependencies for the `Request` and `Response` objects, so that it can
|
||||
add cache control headers to the outgoing response, and return a 304 Not Modified response when
|
||||
the incoming request has a matching If-Non-Match header. This only happens if the decorated
|
||||
endpoint doesn't already list these objects directly.
|
||||
|
||||
The keyword arguments for these extra dependencies are named
|
||||
`__fastapi_cache_request` and `__fastapi_cache_response` to minimize collisions.
|
||||
Use the `injected_dependency_namespace` argument to `@cache()` to change the
|
||||
prefix used if those names would clash anyway.
|
||||
|
||||
|
||||
### Supported data types
|
||||
|
||||
|
||||
Reference in New Issue
Block a user