Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -----------------------------------------------------------------------------------
- # models.py file - arquivo onde estão as tabelas do Banco de dados
- # -----------------------------------------------------------------------------------
- from flask_mongoengine import MongoEngine
- mongo = MongoEngine()
- class BloodGroup(mongo.Document):
- blood_group = mongo.StringField(
- max_length=255, required=True, nullable=False, unique=True
- )
- is_deleted = mongo.BooleanField(
- verbose_name='Excluído?',
- default=False
- )
- created_at = mongo.DateTimeField(
- verbose_name='Criação',
- default=time_now_utc,
- nullable=True
- )
- updated_at = mongo.DateTimeField(
- verbose_name='Atualização',
- default=time_now_utc,
- onupdate=time_now_utc,
- nullable=True
- )
- # -----------------------------------------------------------------------------------
- # api.py file - arquivo onde serão definidas as apis
- # -----------------------------------------------------------------------------------
- from __future__ import unicode_literals
- from flask import Blueprint
- from flask import json
- from flask import jsonify
- from models import BloodGroup
- class BaseBlueprint(Blueprint):
- def route(self, rule, **options):
- """Override the `route` method; add rules with and without slash."""
- def decorator(f):
- new_rule = rule.rstrip('/')
- new_rule_with_slash = '{}/'.format(new_rule)
- super(BaseBlueprint, self).route(new_rule, **options)(f)
- super(BaseBlueprint, self).route(new_rule_with_slash, **options)(f)
- return f
- return decorator
- blood_group_api_blueprint = BaseBlueprint('bloodgroup_api',
- 'api',
- url_prefix='/api/v1/')
- def api_blood_group_get_data(data):
- _obj = {
- 'objectid': data.id,
- 'blood_group': data.blood_group,
- 'is_deleted': data.is_deleted,
- 'created_at': data.created_at,
- 'updated_at': data.updated_at
- }
- return _obj
- @blood_group_api_blueprint.route(
- '/blood_group/get/all/', methods=['GET']
- )
- def api_blood_group_get_all_order_by_blood_group():
- _results = []
- _data_all = None
- try:
- _data_all = BloodGroup.objects()
- except Exception as e:
- return jsonify({
- "status": 0,
- "result": "not found",
- "code": "404",
- "details": "resource could not be found"
- }), 404
- try:
- for _data in _data_all:
- _obj = api_blood_group_get_data(_data)
- _results.append(_obj)
- _response = jsonify(_results)
- return _response
- except Exception as e:
- pass
- return jsonify({
- "status": 0,
- "result": "bad request",
- "code": "400",
- "details": "request is not correctly formed"
- }), 400
- # -----------------------------------------------------------------------------------
- # consumidor.py file - arquivo onde serão utilizadas as apis
- # -----------------------------------------------------------------------------------
- import requests
- # Making the http request
- resp = requests.get("http://127.0.0.1:5000/api/v1/blood_group/get/all/")
- # 200
- print (resp.status_code)
- # Transforming the data returned into JSON format
- data = resp.json()
- for d in data:
- print("id: {}".format(d['objectid']))
- print("blood_group: {}".format(d['blood_group']))
- print("blood_group_unaccent: {}".format(d['blood_group_unaccent']))
- print("slug: {}".format(d['slug']))
- print("is_deleted: {}".format(d['is_deleted']))
- print("")
Advertisement
Add Comment
Please, Sign In to add comment