Pitão

Criação da API REST em Python

Criação da API REST em Python
REST ou Representational State Transfer é um estilo de desenvolvimento de software usado principalmente em API ou design de Interface de Programação de Aplicativos para construir serviços da web modernos e interativos. Também é conhecido como serviço da web RESTful.

Python é uma linguagem de programação poderosa. Ele tem muitas bibliotecas para construir APIs REST ou RESTful. Uma das bibliotecas populares para construir aplicativos da web e escrever APIs REST é Frasco.

Neste artigo, vou mostrar como criar API REST em Python usando Flask. Vamos começar.

Requisitos:

Você devia ter

Você deve ser capaz de encontrar artigos e tutoriais sobre todos esses tópicos no LinuxHint.com

Usarei Python 3 no Debian 9 Stretch neste artigo. Se você estiver usando Python 2, você terá que ajustar um pouco. Você deve ser capaz de descobrir sozinho, pois será tão simples quanto 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 em seu computador com o seguinte comando:

$ sudo -H pip3 install virtualenv

Agora crie um diretório de projeto (vamos chamá-lo pireste /) com o seguinte comando:

$ mkdir pyrest

Agora crie um ambiente virtual Python no pireste / diretório do projeto com o seguinte comando:

$ virtualenv pyrest /

Agora navegue até o diretório do projeto com o seguinte comando:

$ cd pyrest

Em seguida, ative o ambiente virtual Python com o seguinte comando:

$ source bin / activate

Por fim, execute o seguinte comando para instalar a biblioteca Flask Python:

$ bin / pip3 install flask

Escrevendo seu primeiro script de frasco:

Nesta seção, vou escrever um programa hello world em Python Flask.

Primeiro, crie um arquivo Olá.py no diretório do seu projeto:

$ touch olá.py

Agora adicione as seguintes linhas para Olá.py arquivo e salve-o.

Na próxima seção, mostrarei como executar scripts do Flask.

Executando o Flask Script:

Agora, para começar o Olá.py Servidor Flask, execute o seguinte comando:

$ bin / python3 olá.py

Como você pode ver, o servidor foi iniciado em http: // 127.0.0.1: 8080.

Agora você pode acessar o servidor Flask http: // 127.0.0.1: 8080 a partir do navegador da web ou softwares de teste de API, como Postman. Vou usar o CURL.

$ curl http: // 127.0.0.1: 8080

Como você pode ver, a saída correta é impressa na tela.

Parabéns! Flask está funcionando.

Acessando dados usando GET na API REST:

A solicitação GET na API REST é usada para buscar informações do servidor API. Você define alguns pontos de extremidade de API e faz uma solicitação GET nesse ponto de extremidade. É simples.

Primeiro, crie um novo arquivo obter.py no diretório do seu projeto com o seguinte comando:

$ touch get.py

Agora adicione as seguintes linhas em seu obter.py arquivo e salve-o.

Aqui, na linha 1, o Frasco função de construtor e jsonify função é importada do módulo frasco.

Na linha 3, a Frasco objeto é criado e armazenado em aplicativo variável.

Na linha 5, criei um array Python 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 é OBTER.

Na linha 11, eu defini a função getAccounts (). getAccounts () função será executada quando uma solicitação GET para / contas endpoint é feito.

Linha 12, que faz parte da getAccounts () função, eu converti o contas matriz de dicionários para JSON usando jsonify () função e retornou.

Na linha 14-15, liguei para o aplicativo.corre() para dizer ao Flask para executar o servidor API na porta 8080.

Agora execute o servidor Flask API com o seguinte comando:

$ bin / python3 get.py

O servidor foi iniciado na porta 8080.

Agora faça uma solicitação GET para o / contas endpoint com CURL da seguinte forma:

$ curl http: // 127.0.0.1: 8080 / contas

Como você pode ver, os dados das contas são exibidos no formato JSON na solicitação GET em / contas ponto final.

Você também pode obter dados específicos da conta. Para fazer isso, vou criar outro endpoint de API /conta/. Aqui, será a identidade do titular da conta. O ID aqui é o índice da matriz.

Edite o obter.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 é OBTER.

Na linha 15-17, a função getAccount () para o endpoint da API /conta/ é definido. O getAccount () função aceita um eu ia como um argumento. O valor de do endpoint da API é definido para o eu ia variável de getAccount () função.

Na linha 16, o eu ia variável é convertida para um inteiro. Eu também deduzi 1 do eu ia variável. Porque o índice da matriz começa em 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 é retornado como JSON.

O resto dos códigos são os mesmos.

Agora execute o servidor API novamente.

$ bin / python3 get.py

Solicitei os dados das contas 1 e 2 separadamente e recebi o resultado esperado, como você pode ver na captura de tela abaixo.

$ curl http: // 127.0.0.1: 8080 / conta / 1
$ curl http: // 127.0.0.1: 8080 / conta / 2

Adicionando dados usando POST na API REST:

Agora vou renomear obter.py para api.py e adicionar um endpoint de API /conta para adicionar novos dados.

Renomear obter.py para api.py:

$ mv -v get.py api.py

Primeiro, adicione as linhas (19-26) conforme marcado na imagem abaixo para o api.py Arquivo.

Agora execute o api.py servidor:

$ bin / python3 api.py

Para inserir novos dados no /conta endpoint, execute o seguinte comando:

$ curl -X POST -H "Content-Type: application / json" -d '"name": "Shovon", "balance": 100'
http: // 127.0.0.1: 8080 / conta

NOTA: Aqui, '“Nome”: “Shovon”, “equilíbrio”: 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.

Os 10 melhores jogos para jogar no Ubuntu
A plataforma Windows tem sido uma das plataformas dominantes para jogos devido à grande porcentagem de jogos que estão sendo desenvolvidos hoje para o...
5 melhores jogos de arcade para Linux
Hoje em dia, os computadores são máquinas sérias usadas para jogos. Se você não pode obter a nova pontuação máxima, você saberá o que quero dizer. Nes...
Batalha por Wesnoth 1.13.6 Desenvolvimento lançado
Batalha por Wesnoth 1.13.6 lançado no mês passado, é o sexto lançamento de desenvolvimento no 1.13.série x e oferece uma série de melhorias, principal...