https://becode.com.br/o-que-e-api-rest-e-restful/
Ver original
Menu
Menu
por
100.7k Visualizações
40
Se o título desse post chamou a sua atenção é por que você é mais uma daquelas pessoas que já
tentou aprender e entender as famosas siglas: API, REST e “RESTful”. Contudo, por algum motivo ou
outro, continua com dúvidas no assunto. Talvez você até ache que REST, por exemplo, se resume a
simples novos métodos HTTP que, por sua vez, podem ser usados quando são realizadas novas
requisições de um cliente a um sevidor na web.
Pensando nisso, nesse post, irei esclarecer alguns pontos sobre o assunto. E, se ao final do artigo, eu
conseguir atingir o meu objetivo, você estará se perguntando: “OMG! onde posso aprender mais
sobre o assunto!?” Então vamos lá!
É cada dia mais comum termos aplicações que funcionem única e exclusivamente pela Internet,
sendo consumidas por navegadores em desktops, notebooks ou dispositivos móveis, isto é,
independente de plataforma. Por outro lado, grandes empresas precisam alimentar seus softwares
de gestão (estoque, contabilidade, ERP e redes sociais) com dados, a todo momento.
Com essas duas problemáticas em mente (sofwares sendo acessados pela Web e empresas
precisando alimentar seus sistemas) começou-se a pensar em uma solução de sofware que
permitisse a conversa entre sistemas e usuários.
Durante anos, diversas alternativas surgiram e, de uma forma geral, essas aplicações ficaram
conhecidas como APIs. Basicamente, o funcionamento dessas aplicações baseava-se em fornecer um
ponto de acesso entre a aplicação e seu cliente, seja ele um usuário ou uma outra aplicação.
O que é API?
O acrônimo API que provém do inglês Application Programming Interface (Em português, significa
Interface de Programação de Aplicações), trata-se de um conjunto de rotinas e padrões
estabelecidos e documentados por uma aplicação A, para que outras aplicações consigam utilizar as
funcionalidades desta aplicação A, sem precisar conhecer detalhes da implementação do software.
Desta forma, entendemos que as APIs permitem uma interoperabilidade entre aplicações. Em outras
palavras, a comunicação entre aplicações e entre os usuários.
2) Representações
Agora que já sabemos que uma API permite a interoperabilidade entre usuários e aplicações, isso
reforça ainda mais a importância de pensarmos em algo padronizado e, de preferência, de fácil
representação e compreensão por humanos e máquinas. Isso pode soar um pouco estranho, mas
veja esses três exemplos:
Representação XML
<endereco>
<rua>
Rua Recife
</rua>
<cidade>
Paulo Afonso
</cidade>
</endereco>
Representação JSON
{ endereco:
Representação YAML
endereco:
Qual deles você escolheria para informar o endereço em uma carta? Provavelmente o último, por ser
de fácil entendimento para humanos, não é mesmo? Contudo, as 3 representações são válidas, pois
nosso entendimento final é o mesmo, ou seja, a semântica é a mesma.
Por outro lado, você deve concordar comigo que a primeira representação (formato XML) é mais
verbosa, exigindo um esforço extra por parte de quem está escrevendo. No segundo exemplo
(formato JSON) já é algo mais leve de se escrever. Já o último (formato YAML), é praticamente como
escrevemos no dia a dia.
Sendo assim, esse é o primeiro passo que precisamos dar para permitir a comunicação interoperável.
E o mais legal é que essas 3 representações são válidas atualmente, ou seja, homens e máquinas
podem ler, escrever e entender esses formatos.
Origem do REST
O HTTP é o principal protocolo de comunicação para sistemas Web, existente há mais de 20 anos, e
em todo esse tempo sofreu algumas atualizações. Nos anos 2000, um dos principais autores do
protocolo HTTP, Roy Fielding, sugeriu, dentre outras coisas, o uso de novos métodos HTTP. Estes
métodos visavam resolver problemas relacionados a semântica quando requisições HTTP eram feitas.
Estas sugestões permitiram o uso do HTTP de uma forma muito mais próxima da nossa realidade,
dando sentido às requisições HTTP. Para melhor compreensão, veja os exemplos abaixo (requisições
em formatos fictícios):
GET http://www.meusite.com/usuarios
DELETE http://www.meusite.com/usuarios/jackson
Pela simples leitura (mesmo o método GET e DELETE sendo em inglês) é possível inferir que no
primeiro caso estamos pegando (GET) todos os usuários do site, ou seja, teremos uma lista de todos
os usuários que estão cadastrados no sistema/site. Já, no segundo caso, estamos apagando (DELETE)
o usuário Jackson. No último exemplo, estamos usando o método POST, em que percebemos o envio
de dados extras para cadastrar um novo usuário.
Veja o quão simples ficou expressar o que desejamos realizar ao acessar um determinado endereço,
usando verbos específicos para URLs específicas e usando dados padronizados, quando necessário.
Estes princípios apresentados fazem parte do REST! Em outras palavras, nesses exemplos, temos:
uma representação padronizada, verbos e métodos usados, bem como, URLs.
O que é REST?
Apesar de tudo que vimos, aprender e entender REST está muito além de saber apenas qual método
usar quando se faz uma determinada requisição. Na verdade, está muito mais ligado a dar semântica
às requisições realizadas ao servidor e isso aparentemente parece fácil, mas em um estudo um pouco
mais rebuscado, você perceberá que isso é só a ponta do iceberg.
A reposta é até simples. Conceitualmente você pode aprender tudo isso indo direto nas
documentações oficiais (RFC’s). Entretanto, isso pode demandar um bom tempo de aprendizado e é
por isso que resolvi fazer um curso que vai te dar esse atalho.
O curso foi desenvolvido para ajudar a todos que estão iniciando no mundo REST, dando uma visão
geral e também uma prática necessária ao conhecimento de aplicações REST. Se você se interessou,
é só clicar na imagem abaixo e aproveitar!
No mais, espero que você tenha gostado do post. Qualquer dúvida, elogio, sugestão ou crítica, fique
à vontade para comentar! Abraços e até a próxima.
354
SHARES
Mais de 15 anos dedicados a Dev, 5 a ensinar. Acredito que programação não precisa ser complicado,
por isso, adotei o Ruby On Rails (RoR). Contudo, como todo bom Engenheiro de Software, tenho
especialização e adoração por diversas tecnologias do mercado. Hoje, dedico o meu tempo a ensinar
e compartilhar conhecimento em plataformas como a Becode. Ahh... também sou fotógrafo nas
horas vagas.
googleplus
youtube
40 COMENTÁRIOS
LEAVE A REPLY
Guilherme Pacheco
há 3 anos
Gostei da explicação, achei sucinta, explicativa e bem elaborada. Parabéns ao autor! Quero continuar
a ver mais destes posts.
Responder
Erick Scudero
há 3 anos
Que ótimo, Guilherme! Ficamos felizes com isso. O Jackson (autor do post) é nosso instrutor na
Becode. Já assinou nossa newsletter para ver mais conteúdos como esse? Abraços!
Responder
há 3 anos
Responder
Jackson Pires
há 3 anos
Muito bom saber que o artigo cumpriu com o propósito de esclarecer do que se trata a tecnologia.
Lembre-se que caso queira aprofundar-se temos um curso de REST aqui na Becode.
Um forte abraço!
Responder
Edson Morais
há 2 anos
Muito bom o artigo. Aborda o tema de uma maneira introdutória e fornece links para um
aprofundamento.
Estou entusiasmado com os artigos que tenho encontrado na “BeCode”. Já li bons artigos técnicos,
como este, mas também artigos de temas variados, como tendências de mercado, comportamento
de profissionais da área, dicas de tecnologia, etc. Enfim, tudo muito interessante…
Responder
Jackson Pires
há 2 anos
Fala, Edson! Que bom que gostou do artigo. A Becode tem se esforçado para trazer tudo de mais
novo que tem rolado na comunidade de desenvolvimento. Continue a acompanhar as publicações e
deixar seus comentários pois isso é o que nos incentiva. Um forte abraço! Vlw!
Responder
Mateus Santos
há 2 anos
Olá , fiquei com dúvida na seguinte questão : Falando de uma aplicação onde irei acessar um BD ,
também consigo “transformar” JSON para incorporar nas frases SQL ?
ps: para me situar estou desenvolvendo me TCC em cima dessa “metodologia” , assim preciso
entender em detalhes.
desde já grato.
Responder
Erick Scudero
há 2 anos
Mateus, tudo bem? Esse é um assunto mais complexo. Talvez no futuro a gente crie um post ou
tutorial especificamente sobre essa sua dúvida. Mas, se você quiser ir se adiantando, o instrutor
Jackson criou um curso bem completo que provavelmente irá te ensinar tudo que você precisa saber
para o seu TCC. Dê uma olhada no conteúdo do curso aqui:
Abraços
Responder
Gabriel
há 2 anos
Excelente explicação!
Responder
Becode
há 2 anos
Responder
Ademar
há 2 anos
Parabéns pelo Post. Pela explicação, imagino que o curso seja bem didático. Abraços
Responder
Becode
há 2 anos
Muito! O Jackson é um dos melhores instrutores no assunto. Dê uma olhada nas aulas gratuitas para
ter uma prévia: Entendendo e documentando REST / RESTful APIs
Abraços!
Responder
Ricardo Hernandez
há 2 anos
kkkkkkkkk
Que explicação maravilhosa! Meus parabens por isto! Finalmente posso dizer que estou com um
bom etendimento agora sobre API e REST. Agradeço de todo o coração.
Responder
Becode
há 2 anos
hahaha Ricardo, que bom que gostou! Mas então, no próprio post demos a dica do curso do Jackson
Pires, dê uma revisada no post que você vai achar o link. Abraços!
Responder
Cesar
há 2 anos
Excelente explicação: Utilizando linguagem e termos de fácil entendimento você conseguiu explicar
com perfeição e didática os conceitos de REST e API.
Responder
Becode
há 2 anos
Responder
Marco Aurelio
há 2 anos
gostaria de saber a data que foi publicado esse artigo por favor
Responder
Becode
há 2 anos
21/02/2017
Responder
Daniele
há 2 anos
Responder
Becode
há 2 anos
Responder
Andrey Aires
há um ano
Responder
Everton
há um ano
Responder
Vandinei Santos
há um ano
Gostaria de desenvolver um sistema em PHP ou Laravel, que utilizasse como chave de autenticação
usuários cadastrados no Outlook 365.
[]s
Responder
Gustavo
há 10 meses
Parabéns Jackson, explicou de forma rápida e direta pra quem pouco mexeu com este assunto !!!
Responder
Claudio
há 9 meses
Então há 5 anos , quando eu na raça aprendi a programar em HTML Forms com PHP, ja usava na
action do Form o GET e o POST para chamar as funções no PHP.
Responder
Alanne
há 8 meses
Responder
Gustavo
há 9 meses
Responder
Alanne
há 8 meses
Nem acredito que consegui entender o que seria o tal REST e RESTful.
Excelente!!!! Parabéns!!!!
Responder
Marlon
há 8 meses
Cara, muito obrigado pela explicação. Até que enfim, eu consegui entender.
Parabéns!!!!!!!!!
Responder
Bruno Sousa
há 7 meses
Responder
George Mendonça
há 7 meses
Show! Parabéns!
Responder
Caio
há 7 meses
Responder
Ariadna
há 6 meses
Uma aula simples e didática em formato de artigo. Um conteúdo claro e simples. Obrigada por isso,
Jackson! Parabéns! Um abraço
Responder
Hendrison Santos
há 6 meses
Estou precisando conhecer WebServices. Sem tem alguma relação com REST. Vocês tem algum curso
sobre o assunto?
Responder
Gabriel
há 5 meses
Cara, sensacional!
Didática única
Responder
Milson
há 5 meses
Responder
Clério Hickmann
há 5 meses
Responder
Elaine Carvalho
há 4 meses
Responder
Isac
há 4 meses
Muito bom Jackson Pires! Só estou aguardando a Udemy entrar com uma promoção para eu poder
comprar seu curso.
Responder
O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *
10
Back-end Front-end
por
Back-end Front-end
por
Back-end
por
Back-end Front-end
por
Back-end
por
14
Back-end
por
SIGA A BECODE
facebook
twitter
youtube
youtube
SOBRE A BECODE
Por isso, aqui você encontra diversos materiais gratuitos, ebooks, posts, quizes, além de
recomendações para os melhores cursos online da web. Esperamos que você goste!
youtube
BECODE NO FACEBOOK
CURSOS E TECNOLOGIAS
Algoritmos
Android
BootStrap
CSSECMAScript
HTML
iOS
JavaJavaScriptjQuery
Linux
MySQLPHPPythonR
REST
Ruby on Rails
ScrumSQL
Swift
Site Antigo
Página Inicial