Quickstart¶
pyll_json_errors is broken into two primary pieces:
- Model classes to represent JSON API error objects, located in the
pyll_json_errors.models
sub-module. - Helper classes to transform those models into HTTP responses, located in the
pyll_json_errors.contrib
sub-module.
Model Classes¶
At a basic level, pyll_json_errors.models.JsonError
objects should be created, fed into
pyll_json_errors.models.JsonErrorArray
, then serialized with .serialized()
.
Example:
from pyll_json_errors import models
err_one = models.JsonError(
id="someId",
status=400,
code="custom-code-XXX",
title="Validation Error",
detail="'leaflink.com' is not a valid email domain.",
source=models.JsonErrorSourcePointer(keys=("user", "email"))
)
err_two = models.JsonError(
status="401",
title="Unauthorized",
detail="You do not have access to LeafLink email domains."
)
array = models.JsonErrorArray([err_one, err_two])
# array.status
# 400
# array.serialized()
# {"errors": [{"id": "someId", "status": "400", "code": "custom-code-XXX", "title": "Validation Error", "detail": "'leaflink.com' is not a valid email domain.", "source": {"pointer": "/user/email"}}, {"status": "401", "title": "Unauthorized", "detail": "You do not have access to LeafLink email domains."}]}