Flask routing enables developers to build powerful web APIs quickly and easily. By leveraging Flask’s intuitive syntax, you can create GET endpoints that retrieve and serve data efficiently. This post will guide you through the process of setting up a basic Flask application and implementing a simple GET endpoint.
Setting Up Your Flask Environment
Before diving into endpoint creation, you’ll need to set up your Flask development environment. First, install Flask using pip:
pip install flask
Next, create a new Python file for your Flask app:
from flask import Flask
app = Flask(__name__)
This code imports the Flask module and initializes a new Flask application instance.
Defining Your First GET Endpoint
With your Flask app set up, you can now define your first GET endpoint:
@app.route('/hello', methods=['GET'])
def hello():
return "Hello, World!"
This simple endpoint responds to GET requests at the ‘/hello’ URL path. When accessed, it returns the string “Hello, World!”.
Understanding Flask Routing
Flask uses decorators to map URLs to functions. The @app.route() decorator specifies which URL should trigger our function. By default, Flask assumes GET requests, but it’s good practice to explicitly define the allowed methods.
Testing Your Endpoint
To test your new endpoint, run your Flask application:
if __name__ == '__main__':
app.run(debug=True)
Now, navigate to http://localhost:5000/hello in your web browser. You should see the “Hello, World!” message displayed.
Adding Parameters to Your GET Endpoint
GET endpoints often need to handle query parameters. Let’s modify our endpoint to greet a specific name:
from flask import request
@app.route('/greet', methods=['GET'])
def greet():
name = request.args.get('name', 'Guest')
return f"Hello, {name}!"
This endpoint extracts the ‘name’ parameter from the query string. If no name is provided, it defaults to ‘Guest’.
Returning JSON Data
Many APIs return data in JSON format. Flask makes this easy:
from flask import jsonify
@app.route('/api/user', methods=['GET'])
def get_user():
user = {
'id': 1,
'name': 'John Doe',
'email': 'john@example.com'
}
return jsonify(user)
The jsonify() function converts Python dictionaries to JSON responses automatically.
Handling Errors Gracefully
Proper error handling improves your API’s reliability. Here’s an example of how to handle a 404 error:
@app.errorhandler(404)
def not_found(error):
return jsonify({'error': 'Resource not found'}), 404
This function returns a JSON error message with the appropriate HTTP status code when a requested resource isn’t found.
Conclusion
Creating GET endpoints with Flask is straightforward and powerful. By following these examples, you can quickly build robust APIs that serve data efficiently. Remember to always consider security, performance, and scalability as you develop your Flask applications.
For more advanced Flask topics, check out the official Flask documentation.
Happy coding!
Discover more from teguhteja.id
Subscribe to get the latest posts sent to your email.

