"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Roteamento Restful - Um exemplo de API Flask

Roteamento Restful - Um exemplo de API Flask

Publicado em 2024-11-08
Navegar:100

Restful Routing - A Flask API Example

O roteamento tranquilo é o impulso para tornar o roteamento consistente em todos os aplicativos diferentes. REST é transferência de estado representacional. Ele usa HTTP de uma forma consistente, legível por humanos e por máquina.

Os padrões são GET, POST, PATCH, PUT e DELETE.

Abaixo daremos um exemplo de algumas rotas tranquilas em um banco de dados de API de flask para obter/fornecer as informações de/para o front e executar a ação necessária.

Um exemplo de GET para usuários no lado do servidor usando flask é usar o código abaixo.

Primeiro você também precisará importar esses itens. A importação do banco de dados será usada posteriormente para o exemplo DELETE.

from flask import request (*Used for POST and PATCH*)
from config import db, api, app 

from flask_restful import Resource
from models.user import User

Seu arquivo de configuração deve ser configurado como abaixo para que as importações funcionem.

 db = SQLAlchemy(app=app, metadata=metadata)
 api = Api(app=app)

O código GET na rota do usuário:

 class UsersResource(Resource):
     def get(self):
        users = [user.to_dict() for user in User.query.all()]
        return users, 200

 api.add_resource(UsersResource, "/api/users", endpoint="users")

Para decompor este código.

Você precisará criar uma classe para o recurso Usuários e colocar o recurso como argumento.

Em seguida, crie uma função para get. A função irá consultar a tabela User e, em seguida, criar uma lista de todos os usuários, convertendo-os em dicionários para transferência, para que possam ficar visíveis na página da web como JSON. Em seguida, você retorna a lista, bem como um código de status 200 informando que a solicitação foi bem-sucedida.

Por último você precisará criar o recurso. Nomeie o recurso que você está usando, bem como o caminho e o endpoint. /api é adicionado na frente do caminho para que o site de hospedagem possa distinguir a rota de front-end e de back-end.

Para DELETE você terá que criar outro recurso para exclusão de um único usuário. Veja o código abaixo:

 class UserResource(Resource):
     def delete(self, id):
         user= User.query.get(id)
         db.session.delete(user)
         db.session.commit()
         return {}, 204

 api.add_resource(UserResource, "/api/user/", 
 endpoint="user")

Para explicar melhor o que está acontecendo no delete que é diferente do get são algumas coisas. Primeiro, basta excluir um usuário, então você precisará criar um novo recurso. É configurado de forma semelhante, mas não no plural.

Então você cria a função delete. Serão necessários dois argumentos, pois você precisa passar o ID que foi enviado do front end para determinar qual usuário excluir. Então você usará db session delete e commit para atualizar o banco de dados. Depois disso, você retorna uma resposta vazia, pois não há nada para enviar de volta e o status para exclusão (204).

Por último você precisa criar o recurso. Desta vez usando o UserResource. O caminho será diferente para ser singular e ter o id que foi passado para o front end e o endpoint também é singular.

O roteamento RESTful faz com que, ao alternar entre diferentes aplicativos, haja um padrão que todos possam seguir para roteamento de back-end e conhecer os caminhos que são padronizados. Além disso, torna os caminhos mais limpos e fáceis de ler.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/spencer_adler_880da14d230/restful-routing-a-flask-api-example-5cpb?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3