UD - FLASK - REST

https://arac.tecladocode.com/

1. Core

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
  return 'Hello World!'

app.run(port=5000)

2. Basic REST api

JSON will be sent as string.

from flask import jsonify

stores = [{
    'name': 'My Store',
    'items': [{'name':'my item', 'price': 15.99 }]
}]


@app.route('/store' , methods=['POST'])
def create_store():
  request_data = request.get_json()
  new_store = {
    'name':request_data['name'],
    'items':[]
  }
  stores.append(new_store)
  return jsonify({'store': new_store})


@app.route('/store/<string:name>')
def get_store(name):
  for store in stores:
    if store['name'] == name:
          return jsonify({'store': store})
  return jsonify ({'message': 'store not found'})


@app.route('/store')
def get_stores():
  return jsonify({'stores': stores})


@app.route('/store/<string:name>/item' , methods=['POST'])
def create_item_in_store(name):
  request_data = request.get_json()
  for store in stores:
    if store['name'] == name:
        new_item = {
            'name': request_data['name'],
            'price': request_data['price']
        }
        store['items'].append(new_item)
        return jsonify({'store': store})
  return jsonify ({'message' :'store not found'})


@app.route('/store/<string:name>/item')
def get_item_in_store(name):
  for store in stores:
    if store['name'] == name:
        return jsonify( {'items': store['items']} )
  return jsonify ({'message':'store not found'})

3. Flask-RESTful

inheritance from Resource to use handy methods.

Last updated

Was this helpful?