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.
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