# -*- 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)
'/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'])