FastAPI-Query-Conditions is a dependency that parses a query string into conditions using operators enclosed in square brackets
Project description
fastapi-query-conditions
Introduction
FastAPI-Query-Conditions is a dependency that parses a query string into conditions using operators enclosed in square brackets.
For example, if you send a request to /orders?amount[gte]=1000&amount[lt]=2000
, you can use the query string as parsed conditions like this:
{"gte":1000,"lt":2000}
Install
> pip install fastapi-query-conditions
Quick Start
from typing import Dict
from fastapi import Depends, FastAPI
from fastapi_query_conditions import query_conditions
app = FastAPI()
@app.get("/items")
def query_items(amount: Dict[str, int] = Depends(query_conditions(field='amount', factory=int))):
print(amount)
return amount
Then, if you send a request to /items?amount[gte]=1000&amount[lt]=2000
, you can check the following results.
{'gte': 1000, 'lt': 2000}
Also, you can use various factory functions for your query parameter.
from datetime import datetime
from typing import Dict
from fastapi import Depends, FastAPI
from fastapi_query_conditions import query_conditions
app = FastAPI()
@app.get("/orders")
def query_orders(time: Dict[str, int] = Depends(query_conditions(field='time', factory=datetime.fromisoformat))):
print(time)
return time
Then, if you send a request to /orders?time[gte]=2022-10-18T12:00&time[lt]=2022-10-18T12:30
, you can check the following results.
{'gte': datetime.datetime(2022, 10, 18, 12, 0), 'lt': datetime.datetime(2022, 10, 18, 12, 30)}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for fastapi-query-conditions-1.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | d27989d60b846ab6a61816143e3228705f69a3c15dfe91831a87c740b1f91c6d |
|
MD5 | 25c3b7cb1d2b107cc4c17c5725a0ddf7 |
|
BLAKE2b-256 | 2da3a5df0565505c5756529c6963b129c5fe9f81852ec94a18acb7f157ae6fb2 |
Hashes for fastapi_query_conditions-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1528bfe897d9a6c717ee355054e2577e108c91bc8846271191efce1567fa4c8a |
|
MD5 | 64187061e2f87364e7ee4fa4c4fb9b59 |
|
BLAKE2b-256 | f3329d81266fcfa0a75a26e1963dc5b0b1eecedab0607d80596d5c42e46a4d34 |