Home >Backend Development >Python Tutorial >How to use external services for third party integration in FastAPI

How to use external services for third party integration in FastAPI

PHPz
PHPzOriginal
2023-07-29 08:21:101187browse

How to use external services in FastAPI for third-party integration

FastAPI is a fast (high-performance), easy-to-use, web framework based on standard Python type hints. It enables easy third-party integration with external services to enable more functionality and provide a better user experience. This article will describe how to use external services for third-party integration in FastAPI, with code examples.

1. Install dependent libraries

First, we need to install some necessary dependent libraries. Execute the following command in the terminal:

pip install fastapi
pip install httpx
  • fastapi: FastAPI framework.
  • httpx: An asynchronous HTTP client.

2. Create a FastAPI application

Next, we start to create a basic FastAPI application. Execute the following command in the terminal:

mkdir fastapi_integration
cd fastapi_integration
touch main.py

Then, open the main.py file and add the following code:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"message": "Hello, FastAPI!"}

This code creates a FastAPI application and A route named read_root is defined. When we access the root path, a JSON response containing a "Hello, FastAPI!" message will be returned.

Next, run the following command to start the FastAPI application:

uvicorn main:app --reload

You will see the following output:

INFO:     Started server process [12345]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://localhost:8000 (Press CTRL+C to quit)

Now, you can access http in your browser ://localhost:8000, see the returned JSON response.

3. Using external services

Next, we will use external services for third-party integration. In this example, we will use a public API called the Chuck Norris Jokes API to get some funny jokes. We will use the httpx library to send HTTP requests to interact with this API.

First, we need to install the httpx library. Execute the following command in the terminal:

pip install httpx

Then, we will add the following code in the main.py file to get the joke from the API and return the response:

import httpx

@app.get("/joke")
async def get_joke():
    url = "https://api.chucknorris.io/jokes/random"
    async with httpx.AsyncClient() as client:
        response = await client.get(url)
        joke = response.json()["value"]
        return {"joke": joke}

In this code block, we first define a route named get_joke. When we access the /joke path, an asynchronous HTTP GET request is sent to the https://api.chucknorris.io/jokes/random URL and then the joke is obtained in the JSON response , and return it.

Restart the FastAPI application, and then visit http://localhost:8000/joke in the browser, you will see a JSON response containing a random joke.

4. Summary

This article introduces the steps and sample code on how to use external services for third-party integration in FastAPI. We first installed the required dependencies and then created a basic FastAPI application. Next, we use the httpx library to interact with the Chuck Norris Jokes API and return the resulting jokes to the client.

By using external services, we can easily implement third-party integrations to add more functionality and extensibility to our FastAPI applications.

Source code link: [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi)

The above is the detailed content of How to use external services for third party integration in FastAPI. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn