Movatterモバイル変換


[0]ホーム

URL:


Open In App
Next Article:
How to Create a basic API using Django Rest Framework ?
Next article icon
Prerequisite:Introduction to Rest APIREST stands for REpresentational State Transfer and is an architectural style used in modern web development. It defines a set or rules/constraints for a web application to send and receive data. In this article, we will build a REST API in Python using the Flask framework. Flask is a popular micro framework for building web applications. Since it is a micro-framework, it is very easy to use and lacks most of the advanced functionality which is found in a full-fledged framework. Therefore, building a REST API in Flask is very simple.There are two ways of creating a REST API in Flask:
  1. Using Flask without any external libraries
  2. Using flask_restful library

Libraries required:

flask_restfulcan be installed via the pip command:
 sudo pip3 install flask-restful

Method 1: using only Flask

Here, there are two functions: One function to just return or print the data sent through GET or POST and another function to calculate the square of a number sent through GET request and print it.python3 1==
# Using flask to make an api# import necessary libraries and functionsfromflaskimportFlask,jsonify,request# creating a Flask appapp=Flask(__name__)# on the terminal type: curl http://127.0.0.1:5000/# returns hello world when we use GET.# returns the data that we send when we use POST.@app.route('/',methods=['GET','POST'])defhome():if(request.method=='GET'):data="hello world"returnjsonify({'data':data})# A simple function to calculate the square of a number# the number to be squared is sent in the URL when we use GET# on the terminal type: curl http://127.0.0.1:5000 / home / 10# this returns 100 (square of 10)@app.route('/home/<int:num>',methods=['GET'])defdisp(num):returnjsonify({'data':num**2})# driver functionif__name__=='__main__':app.run(debug=True)
Output:Executing the square function:

Method 2: Using flask-restful

Flask Restful is an extension for Flask that adds support for building REST APIs in Python using Flask as the back-end. It encourages best practices and is very easy to set up. Flask restful is very easy to pick up if you're already familiar with flask.Inflask_restful, the main building block is a resource. Each resource can have several methods associated with it such as GET, POST, PUT, DELETE, etc. for example, there could be a resource that calculates the square of a number whenever a get request is sent to it. Each resource is a class that inherits from the Resource class of flask_restful. Once the resource is created and defined, we can add our custom resource to the api and specify a URL path for that corresponding resource.python3 1==
# using flask_restfulfromflaskimportFlask,jsonify,requestfromflask_restfulimportResource,Api# creating the flask appapp=Flask(__name__)# creating an API objectapi=Api(app)# making a class for a particular resource# the get, post methods correspond to get and post requests# they are automatically mapped by flask_restful.# other methods include put, delete, etc.classHello(Resource):# corresponds to the GET request.# this function is called whenever there# is a GET request for this resourcedefget(self):returnjsonify({'message':'hello world'})# Corresponds to POST requestdefpost(self):data=request.get_json()# status codereturnjsonify({'data':data}),201# another resource to calculate the square of a numberclassSquare(Resource):defget(self,num):returnjsonify({'square':num**2})# adding the defined resources along with their corresponding urlsapi.add_resource(Hello,'/')api.add_resource(Square,'/square/<int:num>')# driver functionif__name__=='__main__':app.run(debug=True)
Output:

Improve
Practice Tags :

Similar Reads

We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood ourCookie Policy &Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences

[8]ページ先頭

©2009-2025 Movatter.jp