def get_resource(request: web.Request):
"""
Get single resource, render JSON API document and return response.
Uses the :meth:`~aiohttp_json_api.schema.BaseSchema.query_resource`
method of the schema to query the requested resource.
:seealso: http://jsonapi.org/format/#fetching-resources
"""
ctx = JSONAPIContext(request)
resource_id = request.match_info.get('id')
validate_uri_resource_id(ctx.schema, resource_id)
resource = await ctx.controller.query_resource(resource_id)
compound_documents = None
if ctx.include and resource:
compound_documents, relationships = \
await get_compound_documents(resource, ctx)
result = await render_document(resource, compound_documents, ctx)
return jsonapi_response(result)
评论列表
文章目录