Module stac_fastapi.api.models¶
Api request/response models.
Functions¶
create_get_request_model¶
def create_get_request_model(
extensions: Optional[List[stac_fastapi.types.extension.ApiExtension]],
base_model: stac_fastapi.types.search.BaseSearchGetRequest = <class 'stac_fastapi.types.search.BaseSearchGetRequest'>
) -> stac_fastapi.types.search.APIRequest
Wrap create_request_model to create the GET request model.
create_post_request_model¶
def create_post_request_model(
extensions: Optional[List[stac_fastapi.types.extension.ApiExtension]],
base_model: stac_fastapi.types.search.BaseSearchPostRequest = <class 'stac_fastapi.types.search.BaseSearchPostRequest'>
) -> Type[pydantic.main.BaseModel]
Wrap create_request_model to create the POST request model.
create_request_model¶
def create_request_model(
model_name='SearchGetRequest',
base_model: Union[Type[pydantic.main.BaseModel], stac_fastapi.types.search.APIRequest] = <class 'stac_fastapi.types.search.BaseSearchGetRequest'>,
extensions: Optional[List[stac_fastapi.types.extension.ApiExtension]] = None,
mixins: Union[List[pydantic.main.BaseModel], List[stac_fastapi.types.search.APIRequest], NoneType] = None,
request_type: Optional[str] = 'GET'
) -> Union[Type[pydantic.main.BaseModel], stac_fastapi.types.search.APIRequest]
Create a pydantic model for validating request bodies.
Classes¶
CollectionUri¶
class CollectionUri(
collection_id: typing.Annotated[str, Path(PydanticUndefined)]
)
Get or delete collection.
Ancestors (in MRO)¶
- stac_fastapi.types.search.APIRequest
Descendants¶
- stac_fastapi.extensions.core.transaction.PostItem
- stac_fastapi.extensions.core.transaction.PutCollection
Methods¶
kwargs¶
def kwargs(
self
) -> Dict
Transform api request params into format which matches the signature of the
endpoint.
EmptyRequest¶
class EmptyRequest(
)
Empty request.
Ancestors (in MRO)¶
- stac_fastapi.types.search.APIRequest
Methods¶
kwargs¶
def kwargs(
self
) -> Dict
Transform api request params into format which matches the signature of the
endpoint.
GeoJSONResponse¶
class GeoJSONResponse(
content: 'typing.Any',
status_code: 'int' = 200,
headers: 'typing.Mapping[str, str] | None' = None,
media_type: 'str | None' = None,
background: 'BackgroundTask | None' = None
)
JSON with custom, vendor content-type.
Ancestors (in MRO)¶
- starlette.responses.JSONResponse
- starlette.responses.Response
Class variables¶
charset
media_type
Instance variables¶
headers
Methods¶
delete_cookie¶
def delete_cookie(
self,
key: 'str',
path: 'str' = '/',
domain: 'str | None' = None,
secure: 'bool' = False,
httponly: 'bool' = False,
samesite: "typing.Literal['lax', 'strict', 'none'] | None" = 'lax'
) -> 'None'
init_headers¶
def init_headers(
self,
headers: 'typing.Mapping[str, str] | None' = None
) -> 'None'
render¶
def render(
self,
content: 'typing.Any'
) -> 'bytes'
set_cookie¶
def set_cookie(
self,
key: 'str',
value: 'str' = '',
max_age: 'int | None' = None,
expires: 'datetime | str | int | None' = None,
path: 'str | None' = '/',
domain: 'str | None' = None,
secure: 'bool' = False,
httponly: 'bool' = False,
samesite: "typing.Literal['lax', 'strict', 'none'] | None" = 'lax'
) -> 'None'
ItemCollectionUri¶
class ItemCollectionUri(
collection_id: typing.Annotated[str, Path(PydanticUndefined)],
limit: Annotated[Optional[Annotated[int, Gt(gt=0), AfterValidator(func=<function crop at 0x7ff2c816eac0>)]], Query(PydanticUndefined)] = 10,
bbox: Annotated[Optional[str], Query(PydanticUndefined)] = None,
datetime: Annotated[Optional[str], Query(PydanticUndefined)] = None
)
Get item collection.
Ancestors (in MRO)¶
- stac_fastapi.types.search.APIRequest
Methods¶
kwargs¶
def kwargs(
self
) -> Dict
Transform api request params into format which matches the signature of the
endpoint.
ItemUri¶
class ItemUri(
collection_id: typing.Annotated[str, Path(PydanticUndefined)],
item_id: typing.Annotated[str, Path(PydanticUndefined)]
)
Get or delete item.
Ancestors (in MRO)¶
- stac_fastapi.types.search.APIRequest
Descendants¶
- stac_fastapi.extensions.core.transaction.PutItem
Methods¶
kwargs¶
def kwargs(
self
) -> Dict
Transform api request params into format which matches the signature of the
endpoint.
JSONSchemaResponse¶
class JSONSchemaResponse(
content: 'typing.Any',
status_code: 'int' = 200,
headers: 'typing.Mapping[str, str] | None' = None,
media_type: 'str | None' = None,
background: 'BackgroundTask | None' = None
)
JSON with custom, vendor content-type.
Ancestors (in MRO)¶
- starlette.responses.JSONResponse
- starlette.responses.Response
Class variables¶
charset
media_type
Instance variables¶
headers
Methods¶
delete_cookie¶
def delete_cookie(
self,
key: 'str',
path: 'str' = '/',
domain: 'str | None' = None,
secure: 'bool' = False,
httponly: 'bool' = False,
samesite: "typing.Literal['lax', 'strict', 'none'] | None" = 'lax'
) -> 'None'
init_headers¶
def init_headers(
self,
headers: 'typing.Mapping[str, str] | None' = None
) -> 'None'
render¶
def render(
self,
content: 'typing.Any'
) -> 'bytes'
set_cookie¶
def set_cookie(
self,
key: 'str',
value: 'str' = '',
max_age: 'int | None' = None,
expires: 'datetime | str | int | None' = None,
path: 'str | None' = '/',
domain: 'str | None' = None,
secure: 'bool' = False,
httponly: 'bool' = False,
samesite: "typing.Literal['lax', 'strict', 'none'] | None" = 'lax'
) -> 'None'