Simple REST API using Flask
In this tutorial we will learn a simple REST API using Flask. We will learn mostly two methods (GET and POST) of HTTP request.
ContentPermalink
DependenciesPermalink
To start with this tutorial, let’s import the required packages.
pip install flask
Creating a flask appPermalink
Creating a flask app is quite simple.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello World!'
if __name__ == "__main__":
app.run(debug=True)
run following command to test
python app.py
GET MethodPermalink
The GET method is used to retrieve data from a server. Here we will retrive simple message from our local server. Modify the above code with a new route and a new function with GET method.
from flask import Flask, jsonify, request
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello World!'
@app.route('/get_message', methods=['GET'])
def get_message():
return jsonify({'message': 'Hello World!'})
if __name__ == "__main__":
app.run(debug=True)
To get the message we will use python requests
module to retrive the message.
import requests
response = requests.get('http://localhost:5000/get_message')
print(response.json())
# output: {'message': 'Hello World!'}
POST MethodPermalink
The POST method is used to send data to a server. Here we will send text to our local server, our server will tokenize it and return tokenized data. Modify the above code with a new route and a new function with POST method.
from flask import Flask, jsonify, request
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello World!'
@app.route('/get_message', methods=['GET'])
def get_message():
return jsonify({'message': 'Hello World!'})
@app.route('/tokenize', methods=['POST'])
def tokenizer():
if request.method == 'POST':
data = request.json
text = data['text']
tokens = text.split()
return jsonify({'tokens': tokens})
if __name__ == "__main__":
app.run(debug=True)
To send the text we will use python requests
module to send the text.
import requests
data = {'text': 'Hello World!'}
response = requests.post('http://localhost:5000/tokenize', json=data)
print(response.json())
# output: {'tokens': ['Hello', 'World!']}
Comments