Hands-On RESTful Python Web Services
Develop RESTful web services or APIs with modern Python 3.7, 2nd Edition
- 500 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Hands-On RESTful Python Web Services
Develop RESTful web services or APIs with modern Python 3.7, 2nd Edition
About This Book
Explore the best tools and techniques to create lightweight, maintainable, and scalable Python web services
Key Features
- Combine Python with different data sources to build complex RESTful APIs from scratch
- Configure and fine-tune your APIs using the best tools and techniques available
- Use command-line and GUI tools to test CRUD operations performed by RESTful Web Services or APIs
Book Description
Python is the language of choice for millions of developers worldwide that builds great web services in RESTful architecture. This second edition of Hands-On RESTful Python Web Services will cover the best tools you can use to build engaging web services.
This book shows you how to develop RESTful APIs using the most popular Python frameworks and all the necessary stacks with Python, combined with related libraries and tools. You'll learn to incorporate all new features of Python 3.7, Flask 1.0.2, Django 2.1, Tornado 5.1, and also a new framework, Pyramid. As you advance through the chapters, you will get to grips with each of these frameworks to build various web services, and be shown use cases and best practices covering when to use a particular framework.
You'll then successfully develop RESTful APIs with all frameworks and understand how each framework processes HTTP requests and routes URLs. You'll also discover best practices for validation, serialization, and deserialization. In the concluding chapters, you will take advantage of specific features available in certain frameworks such as integrated ORMs, built-in authorization and authentication, and work with asynchronous code. At the end of each framework, you will write tests for RESTful APIs and improve code coverage.
By the end of the book, you will have gained a deep understanding of the stacks needed to build RESTful web services.
What you will learn
- Select the most appropriate framework based on requirements
- Develop complex RESTful APIs from scratch using Python
- Use requests handlers, URL patterns, serialization, and validations
- Add authentication, authorization, and interaction with ORMs and databases
- Debug, test, and improve RESTful APIs with four frameworks
- Design RESTful APIs with frameworks and create automated tests
Who this book is for
This book is for web developers who have a working knowledge of Python and would like to build amazing web services by taking advantage of the various frameworks of Python. You should have some knowledge of RESTful APIs.
Frequently asked questions
Information
Developing RESTful APIs and Microservices with Flask 1.0.2
- Design a RESTful API that performs CRUD operations in Flask with the Flask-RESTful extension
- Understand the tasks performed by each HTTP method
- Understand microservices
- Work with lightweight virtual environments
- Set up the virtual environment with Flask and its Flask-RESTful extension
- Declare status codes for the responses with an enumerable
- Create the model
- Use a dictionary as a repository
- Configure output fields
- Work with resourceful routing on top of Flask pluggable views
- Configure resource routing and endpoints
- Make HTTP requests to the Flask API
- Work with command-line tools to interact with the Flask API
- Work with GUI tools to interact with the Flask API
- Consume the API with other programming languages
Designing a RESTful API to interact with a simple data source
- An integer identifier.
- A string message.
- A TTL (short for Time to Live), that is, a duration in seconds that will indicate the time the notification message has to be displayed on the OLED display.
- A creation date and time. The timestamp will be added automatically when adding a new notification to the collection.
- A notification category description, such as Warning or Information.
- An integer counter that indicates the times when the notification message has been displayed on the OLED display.
- A Boolean value that indicates whether the notification message was displayed at least once on the OLED display.
HTTP verb | Scope | Semantics |
GET | Collection of notifications | Retrieve all the stored notifications in the collection. |
GET | Notification | Retrieve a single notification. |
POST | Collection of notifications | Create a new notification in the collection. |
PATCH | Notification | Update one or more fields for an existing notification. |
DELETE | Notification | Delete an existing notification. |
Understanding the tasks performed by each HTTP method
POST http://localhost:5000/service/notifications/
GET http://localhost:5000/service/notifications/{id}
Table of contents
- Title Page
- Copyright and Credits
- Dedication
- About Packt
- Contributors
- Preface
- Developing RESTful APIs and Microservices with Flask 1.0.2
- Working with Models, SQLAlchemy, and Hyperlinked APIs in Flask
- Improving Our API and Adding Authentication to it with Flask
- Testing and Deploying an API in a Microservice with Flask
- Developing RESTful APIs with Django 2.1
- Working with Class-Based Views and Hyperlinked APIs in Django 2.1
- Improving Our API and Adding Authentication to it with Django
- Throttling, Filtering, Testing, and Deploying an API with Django 2.1
- Developing RESTful APIs with Pyramid 1.10
- Developing RESTful APIs with Tornado 5.1.1
- Working with Asynchronous Code, Testing, and Deploying an API with Tornado
- Assessment
- Other Books You May Enjoy