コード例 #1
0
# -*- coding: utf-8 -*-

from flask import Flask
from flask_rest_jsonapi import Api, ResourceDetail

app = Flask(__name__)
api = Api(app)


class HelloWorld(ResourceDetail):
    def get(self):
        return "Hello world"


api.detail_route('index', '/', resource_cls=HelloWorld)

if __name__ == '__main__':
    app.run(debug=True)
コード例 #2
0
    '/topics',
    resource_type='topic',
    schema=TopicSchema,
    data_layer=SqlalchemyDataLayer,
    data_layer_kwargs={
        'model': Topic,
        'session': session
    },
    data_layer_additional_functions={'get_base_query': topic_get_base_query})

api.detail_route('topic_detail',
                 '/topics/<int:topic_id>',
                 resource_type='topic',
                 schema=TopicSchema,
                 data_layer=SqlalchemyDataLayer,
                 data_layer_kwargs={
                     'model': Topic,
                     'session': session,
                     'id_field': 'id',
                     'url_param_name': 'topic_id'
                 })


def post_get_base_query(self, **view_kwargs):
    query = self.session.query(Post)

    if view_kwargs.get('topic_id'):
        query = query.join(Topic).filter_by(id=view_kwargs['topic_id'])
    elif view_kwargs.get('author_id'):
        query = query.join(Author).filter_by(id=view_kwargs['author_id'])