gopy.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/usr/bin/env python3
  2. import flask
  3. from flask import request, jsonify
  4. from flask_sqlalchemy import SQLAlchemy
  5. from flask_marshmallow import Marshmallow
  6. db = SQLAlchemy()
  7. app = flask.Flask(__name__)
  8. app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root@mysql-0.mysql.svc.cluster.local/gopy'
  9. db.init_app(app)
  10. app.run(host="0.0.0.0")
  11. ma = Marshmallow(app)
  12. class Link(db.Model):
  13. id = db.Column(db.Integer, primary_key=True)
  14. name = db.Column(db.String(255))
  15. target = db.Column(db.String(255))
  16. def __repr__(self):
  17. return '<Link id=(id) name=(name) target=(target)>'.format(
  18. id=self.id, name=self.name, target=self.target
  19. )
  20. class LinkSchema(ma.Schema):
  21. class Meta:
  22. fields = ('id', 'name', 'target')
  23. @app.route('/links', methods=['GET'])
  24. def get_links():
  25. links = Link.query.all()
  26. schema = LinkSchema(many=True)
  27. link_json = schema.dump(links)
  28. return jsonify(link_json)
  29. @app.route('/')
  30. def hello_world():
  31. return "<p>Hello, World!</p>"
  32. #@app.route('/links/<int:id>', methods=['GET'])
  33. if __name__ == "__main__":
  34. app.run(host='0.0.0.0')