Python é uma poderosa linguagem de programação. Tem muitas bibliotecas para construir descanso ou APIs repousantes. Uma das bibliotecas populares para criar aplicativos da web e escrever APIs de descanso é Frasco.
Neste artigo, mostrarei como criar API REST em Python usando Flask. Vamos começar.
Você devia ter
Você deve encontrar artigos e tutoriais sobre todos esses tópicos no Linuxhint.com
Estarei usando o Python 3 no Debian 9 Stretch neste artigo. Se você estiver usando o Python 2, terá que ajustar um pouco. Você deve ser capaz de descobrir isso mesmo, pois será simples como escrever Pitão em vez de Python3 e pip em vez de pip3.
Configurando o ambiente virtual:
Para simplificar, o ambiente virtual é usado para isolar um aplicativo python de outro. O pacote python usado para fazer isso é virtualenv.
Você pode instalar facilmente virtualenv Usando PIP no seu computador com o seguinte comando:
$ sudo -h pip3 instalar virtualenvAgora crie um diretório de projeto (vamos chamá -lo pirrest/) com o seguinte comando:
$ mkdir pyrestAgora crie um ambiente virtual python no pirrest/ Diretório do projeto com o seguinte comando:
$ virtualenv pyrest/Agora navegue até o diretório do projeto com o seguinte comando:
$ CD PyrestEm seguida, ative o ambiente virtual do Python com o seguinte comando:
$ fontes bin/ativaçãoPor fim, execute o seguinte comando para instalar a Biblioteca Python Flask:
$ bin/pip3 Instale o frascoEscrevendo seu primeiro script de frasco:
Nesta seção, vou escrever um programa Hello World em Python Flask.
Primeiro, crie um arquivo olá.py No seu diretório de projeto:
$ toque olá.pyAgora adicione as seguintes linhas a olá.py Arquive e salve.
Na próxima seção, mostrarei como executar scripts de frasco.
Script de frasco em execução:
Agora para começar o olá.py Flask Server, execute o seguinte comando:
$ bin/python3 Olá.pyComo você pode ver, o servidor começou http: // 127.0.0.1: 8080.
Agora, você pode acessar o servidor Flask http: // 127.0.0.1: 8080 Do navegador da web ou softwares de teste de API, como o Postman. Eu vou usar Curl.
$ Curl http: // 127.0.0.1: 8080Como você pode ver, a saída correta é impressa na tela.
Parabéns! O frasco está funcionando.
Acessando dados usando a API GET IN REST:
Obter solicitação na API REST é usado para buscar informações do servidor API. Você define alguns pontos de extremidade da API e faz uma solicitação GET nesse ponto final. É simples.
Primeiro, crie um novo arquivo pegar.py No seu diretório de projeto com o seguinte comando:
$ touch get.pyAgora adicione as seguintes linhas em seu pegar.py Arquive e salve.
Aqui, na linha 1, o Frasco Função do construtor e jsonify A função é importada do módulo Flask.
Na linha 3, um Frasco Objeto é criado e armazenado em aplicativo variável.
Na linha 5, criei uma variedade de dicionários de dicionários de alguns dados fictícios e os armazenei no Contas variável.
Na linha 10, eu defini o endpoint da API /Contas e o método de solicitação, que é PEGAR.
Na linha 11, eu defini a função getAccounts (). getAccounts () a função será executada quando um pedido de obtenha para /Contas endpoint é feito.
Linha 12, que faz parte de getAccounts () função, eu converti o Contas Matriz de dicionários para JSON usando jsonify () função e devolveu.
Na linha 14-15, liguei para o aplicativo.correr() Para dizer a Flask para executar o servidor API na porta 8080.
Agora execute o servidor API do Flask com o seguinte comando:
$ bin/python3 Get.pyO servidor começou na porta 8080.
Agora faça um pedido de obtenção para o /Contas endpoint com cuba da seguinte forma:
$ Curl http: // 127.0.0.1: 8080/contasComo você pode ver, os dados da conta são exibidos como formato JSON na solicitação GET na /Contas endpoint.
Você também pode obter dados de conta específicos também. Para fazer isso, vou criar outro terminal da API /conta/. Aqui, será o ID do titular da conta. O id aqui é o índice da matriz.
Editar o pegar.py script e adicione as linhas marcadas a ele.
Aqui, na linha 14, eu defini o endpoint da API /conta/ e o método a ser usado, que é PEGAR.
Na linha 15-17, a função getAccount () para o terminal da API /conta/ é definido. O getAccount () Função aceita um eu ia como um argumento. O valor de Do ponto de extremidade da API é definido para o eu ia variável de getAccount () função.
Na linha 16, o eu ia A variável é convertida em um número inteiro. Eu também deduzi 1 do eu ia variável. Porque o índice de matriz começa de 0. Eu quero iniciar o ID da conta de 1. Então, se eu colocar 1 como a conta , 1 - 1 = 0, vou obter o elemento no índice 0 da matriz Contas.
Na linha 17, a matriz no índice é devolvido como JSON.
O restante dos códigos é o mesmo.
Agora execute o servidor API novamente.
$ bin/python3 Get.pySolicitei dados para a conta 1 e 2 separadamente e obtive a saída esperada, como você pode ver na captura de tela abaixo.
$ Curl http: // 127.0.0.1: 8080/conta/1Adicionando dados usando postagem na API REST:
Agora vou renomear pegar.py para API.py e adicione um terminal de API /conta Para adicionar novos dados.
Renomear pegar.py para API.py:
$ MV -V Get.Py API.pyPrimeiro, adicione as linhas (19-26) marcadas na captura de tela abaixo para o API.py arquivo.
Agora execute o API.py servidor:
API $ bin/python3.pyPara inserir novos dados no /conta endpoint, execute o seguinte comando:
$ curl -x post -h "Tipo de conteúdo: aplicativo/json" -d '"name": "shovon", "balance": 100'OBSERVAÇÃO: Aqui, '“Nome”: “Shovon”, “Balance”: 100' são os dados de entrada JSON.
Os dados devem ser inseridos.
Como você pode ver, os novos dados são adicionados.
Então é isso para este artigo. Obrigado por ler este artigo.