A small utility for FastAPI Router.
Project description
Opinionated FastAPI Extended Route
A small utility for FastAPI/Starlette Route and Request to address the following:
Request.url_for
doesn't allow addingquery parameters
at the moment.URL
objects can't have multiple keys like/?key=value&key=anothervalue
.
With the following changes:
- Make
Request.url_for
to match path parameters and use unmatched params for query parameters. - Provide a custom
Route
which has a newRequest
type. - Allow
URL
object to add multiple keys inquery params
. - ...
Example:
from fastapi import FastAPI
from fastapi.responses import PlainTextResponse
from fastapi_extended_route import Request, Route
def index(request: Request) -> PlainTextResponse:
url = request.url_for("index", key=value)
# url == "http://testserver/?key=value"
return PlainTextResponse(url)
app = FastAPI(
routes=[Route("/", index, name="index")],
)
As you can see the only change is to use Route
from the package and
the new Request
object will have a customized url_for
method which
handles both path parameters and query parameters.
If/when these options are available in Starlette/FastAPI, this is no longer needed.
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
Close
Hashes for fastapi_extended_route-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e73998e14696f5433f1061834a5ac8c04c9e88a87198746d78206c1f1332380 |
|
MD5 | 098b9e5aa193caf1045bb932e969d6af |
|
BLAKE2b-256 | ae6cfa29cecf644827a4628f4d8aca907697f28d3d023f997fa1e7c2e81f1466 |
Close
Hashes for fastapi_extended_route-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02c8de0265aa045442ef204e11f77797bbddd63bf8b3e867696da971f279a818 |
|
MD5 | 927b728bef7cab44d0cf4f633fceb75c |
|
BLAKE2b-256 | 429002a9f4d2f5ba8e88d73898b943857740cf9d3c3646ab6d18318edc796d70 |