Transcrições
1. Bem-vindo a este curso!: Bem-vindo às APIs, ainda
mais o básico. O único curso que ele precisa para
entender as APIs do zero. Sou Alex, um desenvolvedor sênior de
software que
prestou consultoria e trabalhou para algumas
das maiores empresas de tecnologia, tanto em Londres quanto no Vale do
Silício Deixei meu emprego no ano passado para ensinar em tempo integral e mostrar aos outros como ter sucesso nesse setor E desde então, 20.000 programadores
fizeram meus cursos. Veja, eu já estive no
seu lugar antes. Ainda há muita informação disponível na Internet. Não faça minicursos,
tutoriais em vídeo, óculos. Mas quando você está apenas
começando, o que você escolhe? Você precisa de um material robusto, muito parecido com o
apresentado aqui. E eu não sou o
único que está dizendo isso. A maioria das minhas avaliações
pode confirmar isso. A maioria dos cursos sobre esse tópico simplesmente não cobre todo o espectro de particularidades
tecnológicas para se tornar um mestre em APIs ou mesmo
entender o que elas são Agora, neste curso, não
usaremos
nenhum atalho, mas também não
perderemos tempo com
informações desatualizadas Tudo gira em torno da eficiência. Se você valoriza seu tempo, tudo aqui está diretamente
relacionado ao que você pode fazer como desenvolvedor para começar
ou crescer em sua carreira. Você
aprenderá habilidades reais que estão em demanda no momento e usadas por algumas das
maiores empresas, como Google, Amazon, Facebook ou Netflix. Analisaremos
todas as noções da
definição de uma API, serviços da
Web, formatos de arquivo de dados e segurança de API Agora, ao se inscrever, você terá acesso vitalício
a dezenas de vídeos em HD, além de exercícios de codificação
e artigos relacionados Eu também atualizo este
curso regularmente. Desde o início, o número de aulas
dobrou Lembre-se de que ninguém
nasce desenvolvedor. Todos nós começamos do zero. Ninguém é bom em
nada. No início. Você lutará,
cometerá erros, conhecerá cada vídeo. Você aprenderá mais
e mais a cada vez, tornando seu cérebro
um pouco mais inteligente. E garanto que
vou te ajudar a chegar lá. Quem quer que você seja,
em qualquer lugar do mundo,
você pode se tornar um desenvolvedor de
software
2. APIs explicadas brevemente (4 níveis de complexidade): Apesar de ter cursado a universidade
em Ciência da Computação, sempre
fiquei um pouco
confusa com o termo API. Como esse conceito realmente
começa a se misturar com a
prática de codificação, ele não foi
explicado claramente para mim em nenhum lugar Neste vídeo,
tentarei explicar essa noção para você em quatro
níveis diferentes de complexidade, desde uma criança de cinco anos
até alguém que tem uma
formação um pouco relacionada à tecnologia, cinco anos. Digamos que você seja um
professor que precise fazer uma aula sobre fenômenos
climáticos severos,
mas estudou apenas
furacões mas estudou apenas
furacões Você não sabe nada
sobre tsunamis. Haveria
a opção de estudá-los você mesmo, o que levaria pelo
menos um mês. Ou você pode simplesmente ligar para um amigo que sabe
tudo sobre eles e ficaria feliz em explicar pessoalmente
esse fenômeno em
sua aula. 16 anos, você está construindo um projeto de
ensino médio muito importante. Para obter
a nota máxima, você também precisa ter uma
pequena subseção sobre
um tópico com o qual não está realmente familiarizado e o
prazo é amanhã No último minuto, você lembra que seu irmão mais velho já
fez esse projeto e você pode reutilizar a subseção dele
do projeto na sua depois que ele
concordar com 25 anos Digamos que você esteja codificando um
aplicativo do zero. O aplicativo tem como objetivo
sistematizar a produtividade de seus usuários implementando a técnica pomodoro
em seus Você codifica, mas percebe que
seria bom também
ter o clima exibido em um canto,
caso esteja ensolarado. A pausa de cinco minutos pode ser feita
na varanda. Esse seria o caso em que
você usaria uma API meteorológica. Ele retornaria o
clima atual do seu usuário com base na localização e
na hora específica do dia. Alguém que tem cerca de
dez conhecimentos relacionados, API significa Application
Programming Interface e representa um conjunto de
métodos ou funções chamados endpoints que são
disponibilizados para serem solicitados Você pode pensar
nesses endpoints como funções ou métodos
conectados à web E você pode ligar para eles a qualquer
momento para obter informações deles,
fornecendo os parâmetros
corretos. Como você imagina, isso é muito
útil por dois motivos. Primeiro, você continua implementando toda
a funcionalidade para a qual está chamando a API. Essa abordagem economiza
tempo que pode ser gasto no desenvolvimento de outros recursos
relacionados ao seu aplicativo. Em segundo lugar, você tem
certeza de que o código da API que
você está chamando está escrito de forma ideal
e levará o mínimo de tempo
possível para ser executado, tornando seu aplicativo mais
fácil e rápido
3. O que é uma API?: Bem-vindo a esta lição sobre o
conceito de programação de uma API. Aqui, veremos
o que exatamente é uma API e como
ela é útil no contexto atual
da Internet, à medida o espaço de codificação se torna ainda mais carente
de novos desenvolvedores Ao entender isso, você
terá uma vantagem clara diante
daqueles que não o fazem, especialmente considerando o quanto isso representa
uma peça importante. No esquema geral das coisas, sou um desenvolvedor que escreve código
há três anos. Embora eu tenha cursado a Universidade
de Ciência da Computação, sempre
fiquei
intrigada com o termo API Como esse conceito realmente
começa a se misturar com a
prática de codificação, ele não foi
explicado claramente para mim em nenhum lugar Essa é exatamente a
razão pela qual senti a necessidade de fazer esta lição simples
para você começar. Começando com
a abreviatura,
API significa
Application Programming Interface E representa um conjunto de métodos chamados endpoints que são
disponibilizados para serem solicitados Você pode pensar
nesses endpoints como funções ou métodos
conectados à web e pode chamá-los a
qualquer momento para obter informações deles
fornecendo os parâmetros corretos APIs foram
disponibilizadas para facilitar a comunicação
entre os serviços da web. Vamos imaginar que
você é um programador que deseja implementar um
novo projeto simples do relógio
Apomadoro para ajudar os usuários
a se concentrarem por
30 minutos seguidos por 30 minutos seguidos por algum motivo em Você também quer que eles saibam o clima atual
com base em sua localização. Para fazer isso, você
chamaria o endpoint de uma API de clima que terá a
aparência get weather e passará como parâmetro a
localização do usuário e sua hora atual Agora você pode ver o poder e a vantagem que
uma API pode oferecer. Ao usá-los, você pode pular a
implementação de partes inteiras de funcionalidades importantes que,
de outra forma,
levariam
algum Dessa forma, se você
escolher uma ótima API, também ficará tranquilo
sabendo que a implementação
é feita sem falhas Existem APIs para segurança, como SMS grátis, autenticação de
dois fatores
para as APIs do seu aplicativo, que têm enormes bancos de dados sobre diferentes tópicos prontos para serem
consultados por você e assim por diante provável que haja uma API sobre o tópico do seu
projeto atual que possa ajudá-lo. Você só precisa saber como
tirar o máximo proveito disso, e é isso que
aprenderemos aqui. Uma ótima API também tem uma
ótima documentação. A documentação é composta de explicações para cada
endpoint sobre como chamá-lo, o que ele retornará e quais parâmetros você deve passar para tornar isso Há uma abundância
de APIs gratuitas
na Internet que você pode ligar para começar e
ver como elas funcionam. Eles também têm a documentação necessária para facilitar sua
viagem. Trechos de código sobre
o código exato da chamada são
disponibilizados em alguns lugares O que
eu
mais uso é um site
chamado Rapid API. Você pode ir em frente e
conferir o hub deles. Agradeço por ficar
comigo até o fim e espero
vê-lo em futuras palestras
4. Melhores APIs + Como chamá-las: Olá pessoal e
bem-vindos a este vídeo que
falaremos sobre como você pode acessar algumas APIs públicas com bastante
facilidade e
chamá-las sem muita dor de
cabeça, pois elas têm suas documentação
disponibilizada. E para isso, vamos usar
a API raivosa, que é uma ferramenta online
que eu acho muito útil. Ele tem um hub que tem centenas e milhares
de APIs públicas, como eu disse junto com
sua documentação. E também maneiras de
chamá-los em qualquer idioma em que você possa
ter seu aplicativo. Portanto, você não precisa procurar
mais do que isso. Além de seu hub,
eles também têm um blog e artigos
interessantes aqui, como as 50 APIs
mais populares. E se dermos uma olhada, eles têm todos os tipos
de APIs, desde informações de voo até a
API da nasa, o serviço de encurtador de URL, MBA, APIs de
música, como genius para obter letras para
sua música favorita. Essas são, e coisas do
tipo que você precisa fazer é pesquisar a API
que você precisa aqui. Você pode ver que pode
ativar as APIs públicas e continuar encontrando a que se
encaixaria em seu projeto. E você pode simplesmente
chamá-lo assim. Você precisa prestar atenção. Porque alguns deles, mesmo sendo públicos, cobram algum dinheiro após uma quantidade de solicitações
feitas a eles. Então, por exemplo, aqui temos a receita da API de nutrição para pés e você precisa
assinar o teste. E eles podem ver que você tem
o básico, que é gratuito, mas será cobrado um valor muito
pequeno depois ultrapassar 500 solicitações por
dia no endpoint de resultados. Mas, com isso dito, alguns deles são totalmente
gratuitos e você não precisa se preocupar com
a possibilidade de ser cobrado em algum momento. Por exemplo, vamos pegar
a API do Google Translate, que eu sei
que o Tp é gratuito, podemos continuar assinando gratuitamente. Como você pode ver, ele não solicitou que eu inserisse os detalhes do meu cartão de
crédito. E o bom dessas APIs rápidas é que,
além de seus pontos finais, elas também têm a documentação da
API disponibilizada para você. Você pode ver que temos
três terminais aqui, os idiomas do detector
e, para traduzir, cada um deles está documentado aqui. Coisas
parecidas com os parâmetros que você precisa inserir para
obter uma solicitação bem-sucedida. Se dermos uma olhada
no endpoint de detecção, por exemplo, que é post, isso deve
detectar o idioma
do texto que você está
enviando como parâmetro. Na API rápida, você também tem parâmetros de
manipulador que
precisam ser enviados para que a API
saiba quem você é e de onde está
ligando. Você pode pensar nisso como, em vez de fornecer
nossa API em chave de API, você
usará a API X-Ray, a chave da API e o
host para eles saibam de onde você está ligando e quem
você é basicamente. Mas, além disso, esse
método, como eu disse, tem um parâmetro e aparentemente é
chamado de fila. E esse é um texto que você pode escrever no
idioma de sua escolha. E o que ele retornará
é o idioma em
que está escrito
, se conseguir detectar isso. E como você pode ver, se escrevermos em inglês é difícil, mas detectável, então podemos
testar o endpoint. Recebemos o idioma EN, que significa inglês. O trecho de código para isso, ou
seja, o código que você
precisa escrever para chamar esse ponto final exato
dessa API exata, é fornecido por
eles e você pode simplesmente copiá-lo. Além disso, você também tem, como mencionado anteriormente,
uma grande variedade de idiomas para
escolher. Para isso, vamos
usar o JavaScript, pois é muito mais fácil e você
realmente não precisa
instalar nada para chamá-lo. E vamos usar a solicitação XML HTTP. Esse é o código que
vamos colocar em um script que está na linguagem
JavaScript. E ele vai chamar a
API para nós sem problemas. Ele também configura os
cabeçalhos da solicitação. Então, ele fornece a chave e o host
rápidos da API, e também os dados, ou
seja, o parâmetro para o
qual chamar o endpoint. E isso é inglês, é difícil, mas detectável. Então, como você pode ver, para realmente chamar esse endpoint
de nossa máquina local, vamos
para o terminal. E eu já fiz isso. Você pode executar o
comando ls para ver quais diretórios
você tem no final. Você pode alterar
diretórios com CD para qualquer diretório que desejar, esta pasta deste
projeto para bean. Eu fiz isso no desktop
e então você pode usar o MKDIR para criar
uma pasta e depois escrever seu nome, chamadas de API de ID. E depois de alterar diretórios nessa pasta do curso
da API, você pode tocar em um índice
que é HTML e script.js. Você pode criar isso
com os comandos D, O, C, H e, em seguida, o
nome do arquivo. Então, index.HTML. Eu já fiz isso. Indo ainda mais longe. Eu os abro com o
Visual Studio Code. E, como você pode ver, eu tenho um trecho básico
de um documento HTML. Eles são todos locais, então não vamos
implantá-los. Isso é muito simples
e adequado para iniciantes. Oh, eu fiz. Aqui estava eu referenciando o script.js e deixei o
restante do corpo vazio. Se formos para o script.js, eu simplesmente copiei o conteúdo da chamada de API
fornecida pela API rápida. Na verdade, essa é
outra chamada de API, mas vamos
atualizá-la com esta. E quando você abre o
arquivo index.html em seu navegador, você pode ver que
podemos recarregar isso. E se pressionarmos o botão
para abrir o console, você pode ver que temos a resposta dada
pelo endpoint. Na linha oito. Temos o registro do console, que significa que ele está conectado à
conta. Então, a resposta do endpoint, que é semelhante à
que tivemos aqui, se a chamarmos, você pode ver que tinha o
idioma en para inglês. E aqui, isso é
o que obtemos também. Ele também
fornece variáveis confiáveis e de confiança para melhor avaliar sua confiança
e confiabilidade
no fato de que esse
é o idioma
do texto que você
forneceu como parâmetro. Portanto, há uma grande variedade
nesses centros, além
do Google Translate, você pode verificar os dados do voo e obter dados de tomografia computadorizada. Você pode obter SMS grátis em seu número de telefone para fazer a autenticação
e a aplicação. Então, isso pode ser muito
útil se você estiver implementando a
parte de segurança do seu projeto. E você não quer ter nenhuma dor de cabeça
implementando um pouco mais ou quer
uma maneira rápida disponibilizar
a
autenticação de dois fatores para você. Além disso, você também pode criar uma conta
com a API rápida e verificá-la se quiser dar uma olhada
no outro ponto final. Mas, além disso,
agradeço muito por ficar comigo até
o final deste vídeo. Se você gostou ou tem alguma outra ideia sobre
vídeos sobre APIs, fique à vontade para deixá-las
nos comentários e até a próxima
vez, tenha uma boa.
5. Melhores práticas de API: Olá pessoal e bem-vindos
de volta a este curso de API. Nesta palestra,
vamos dar uma olhada nas melhores práticas de API
para garantir que
as APIs sejam eficazes,
eficientes e sustentáveis Aderir a essas melhores
práticas é muito importante. Nesta lição, vamos nos
aprofundar nessas melhores práticas para projetar e
implementar APIs Agora, um dos princípios fundamentais do design
da API é a consistência. Os métodos
e respostas dos endpoints da API devem seguir as
convenções e padrões de nomenclatura estabelecidos. Essa consistência simplifica o desenvolvimento
e o consumo de APIs, e aqui você pode usar nomes descritivos
e significativos Isso significa que os
endpoints e métodos da API devem ter nomes claros
que reflitam sua finalidade Evite nomes enigmáticos ou
ambíguos que
exijam que os usuários consultem
uma documentação extensa Você também deve seguir os princípios do
Restful. transferência de estado representacional é um estilo
arquitetônico amplamente adotado para
projetar aplicativos de rede A adesão aos
princípios RESTful ajuda a manter uma estrutura padronizada para endpoints e recursos de
API Você também deve incluir o
controle de versão no RL da API para garantir que as alterações na API não
prejudiquem os Por exemplo, use V
um recurso e V dois recursos para
diferenciar as versões da API Outro aspecto crítico do design da API é o tratamento eficaz
de erros. As respostas de erro adequadas ajudam
os clientes a entender e
resolver problemas com eficiência. Você deve usar códigos de status
HTTP apropriados. Eles fornecem informações
valiosas sobre o resultado de uma solicitação. Use códigos como 200 para
K, 201 para criada, 400 para solicitação inválida e 44 para não encontrada com precisão para transmitir o
resultado da solicitação Além do status, os códigos incluem mensagens de
erro descritivas no corpo da resposta Essas mensagens
devem explicar o que deu errado e, se possível, oferecer mais orientações
para a resolução. A segurança é outro
aspecto fundamental do design da API. Prever dados confidenciais e garantir uma
comunicação segura é crucial Sempre use HTTPS para
criptografar dados em trânsito, evitando espionagem e adulteração de Além disso, implemente mecanismos de
autenticação robustos para verificar a identidade dos clientes e
empregue
a autorização para controlar o acesso a recursos
específicos As opções incluem chaves de API 00 e JWTs para evitar abusos ou
sobrecarga de Implemente
a limitação de taxa para restringir o número de solicitações que os clientes podem fazer
dentro de um prazo definido Uma
documentação clara e abrangente é essencial para desenvolvedores
que consomem sua API. Ele deve servir como um guia de
referência, permitindo que eles entendam como
usar a API de forma eficaz, incluindo informações detalhadas
sobre endpoints disponíveis, métodos de
solicitação, parâmetros, formatos de
resposta
e códigos de erro Você também pode fornecer exemplos
reais de solicitações e respostas de API para ilustrar como interagir
com a API com sucesso Em seguida, processos completos de teste e garantia de
qualidade garantem que sua API funcione de forma
correta e confiável Para que os
testes unitários de gravação em todos os seus endpoints de API
validem se eles
funcionam conforme o esperado, retornem dados precisos e
lidem com erros normalmente Além disso, realize testes de integração para verificar se a API funciona perfeitamente com outros componentes e serviços com os quais ela interage Quando se trata de controle de versão
e compatibilidade com versões anteriores, lembre-se de que as
APIs evoluem com o tempo, assim como a maioria das
tecnologias atualmente Mas é essencial manter essa
compatibilidade com versões anteriores para evitar a quebra de
clientes existentes que
já estão usando a API UR para isso Novamente, o controle de versão da API
entra em ação. Implemente estratégias de controle de versão
para introduzir alterações na API sem
afetar os clientes existentes Isso pode ser feito, como
acabamos de mencionar, por meio de versionamento de URL
ou Em seguida, comunique claramente os planos
de suspensão de uso e encerramento para
versões
mais antigas Informe os usuários sobre quando e como eles devem migrar
para versões mais recentes Otimizar o
desempenho da API é vital, além de afetar os
tempos de resposta e a escalabilidade Para isso, você deve ter
em mente o tamanho da resposta. Minimize-o excluindo dados
desnecessários. Use a paginação para listas
longas de itens
e forneça opções de filtragem Outra coisa a ter em
mente é
implementar mecanismos de cache para
reduzir a carga no servidor e melhorar os tempos de
resposta Utilize riscos de cache HTTP,
como controle de tags e cache. monitoramento e a
análise contínuos fornecem informações
sobre o desempenho do uso da API
e talvez possíveis problemas. Portanto, você deve acompanhar
as principais métricas, como taxa de solicitações, taxas de
erro e tempos de resposta. Para isso, você pode usar ferramentas
como o Google Analytics ou soluções
personalizadas para obter informações sobre como sua
API está sendo usada. Configure sistemas de alerta para notificá-lo sobre problemas de
desempenho, interrupções ou comportamento incomum As melhores práticas para APIs são essenciais para
criar sistemas confiáveis, seguros e de fácil manutenção seguindo as diretrizes
sobre as quais acabamos de falar Desenvolvedores como
você podem projetar e implementar APIs
consistentes, seguras e eficientes,
além fornecer documentação clara
para seus usuários. Uma API bem projetada
e bem documentada não apenas aprimora a experiência do
desenvolvedor, mas também contribui
para o sucesso dos sistemas e aplicativos
que dependem dela Com tudo isso dito, agradeço muito a vocês
por permanecerem comigo até
o final desta palestra, e espero
ver vocês na próxima
6. Balanceamento de carga de API: Olá pessoal, e bem-vindos de
volta a este curso da ABI. Nesta palestra, falaremos sobre dois componentes críticos da infraestrutura
de APIs Eles estão escalando
e balanceando a carga. Eu sugiro fortemente que você
implemente
esses dois conceitos em seu próprio desenvolvimento
futuro de API. Mas antes de tudo, vamos
falar sobre o que eles realmente são quando
se trata de escalonamento de API Esse é o processo de
expansão da capacidade de
uma infraestrutura de API para
acomodar o aumento do tráfego, demanda
do usuário e dos requisitos de
processamento de dados. O objetivo é manter desempenho
contínuo mesmo com
o aumento da carga da API. O dimensionamento pode ocorrer tanto na
vertical quanto na horizontal. Verticalmente significa
adicionar mais recursos a um único servidor e horizontalmente significa
adicionar O balanceamento de carga, por outro lado, complementa os
esforços de escalabilidade distribuindo uniformemente as solicitações
recebidas em vários complementa os
esforços de escalabilidade distribuindo uniformemente as solicitações
recebidas em vários
servidores ou recursos. Ele garante que
nenhum servidor fique sobrecarregado enquanto otimiza a utilização dos
recursos balanceadores de carga atuam
como gerenciadores de tráfego, direcionando de
forma inteligente as solicitações
recebidas para o servidor mais adequado
com base em vários critérios Você pode estar se perguntando agora por que o dimensionamento e o
balanceamento de carga Em primeiro lugar, eles
garantem que as APIs permaneçam disponíveis mesmo que, em face de alto tráfego ou falhas no servidor, redundância minimize tráfego distribuído uniformemente significa que cada servidor opera com
uma capacidade ideal. Maximizando os tempos de resposta
e reduzindo a latência. A capacidade de escalar horizontalmente
permite que as organizações aumentem sua infraestrutura de API em resposta ao aumento da demanda forma eficaz e preparada para
o futuro, os balanceadores de carga de serviços podem detectar e redirecionar tráfego para fora de servidores
não íntegros, garantindo um
serviço ininterrupto no caso de uma
falha Existem algumas estratégias para escalar e balancear a carga Em primeiro lugar, temos a escala
vertical. Isso implica adicionar
mais recursos, sejam eles CPU,
memória ou armazenamento, a um único servidor. Essa abordagem é adequada
para aplicativos com tráfego moderado e
pode ser econômica. Em seguida, temos o dimensionamento
horizontal, adicionando mais servidores
para lidar com o tráfego É uma abordagem escalável, mas requer
coordenação cuidadosa e também balanceamento de carga Existem algoritmos de
carregadores de carga. Os balanceadores de carga usam
algoritmos como conexões
Robin Hood List ou IP has para distribuir as
solicitações recebidas do servidor compreensão desses algoritmos ajuda a otimizar o balanceamento de carga Alguns aplicativos
exigem sessões fixas, nas quais as solicitações dos usuários
são direcionadas
ao mesmo servidor para
manter o estado da sessão Os balanceadores de carga podem ser configurados para a persistência da sessão
quando necessário As melhores práticas
quando se trata escalabilidade e
balanceamento de carga são as seguintes Você deve implementar
redundância em todos os níveis, incluindo
balanceadores de carga e servidores, para garantir a alta disponibilidade Você também deve monitorar
continuamente integridade
do servidor e os padrões de
tráfego para detectar e resolver problemas. Implemente proativamente mecanismos de escalabilidade
automática
que podem
ajustar dinamicamente os recursos com base em métricas tráfego e
desempenho em tempo
real Garanta que medidas de segurança
, como firewalls e proteção
Dos, sejam
integradas à
configuração escalonamento e
balanceamento de carga Por fim,
teste rigorosamente a configuração de escalabilidade e balanceamento de carga sob várias condições, incluindo Além disso, aqui, não se
esquive de pensar
nos casos extremos Isso é, na maioria das vezes, o que acaba arruinando
o caminho feliz que implementamos
ou determinada Com tudo isso dito,
acho que o escalonamento da API
e o balanceamento de carga são componentes
integrais da
criação de serviços confiáveis e de
desempenho na era digital Compreendendo os
princípios, as estratégias e as melhores práticas
associadas às organizações escalabilidade e
balanceamento de carga E você pode criar infraestruturas de
API que aumentem
continuamente o tráfego,
garantam alta disponibilidade
e ofereçam o desempenho que
os usuários da API esperam Eu realmente espero que vocês aprendam
algo com esta palestra e pensem no
futuro ao desenvolver sua própria API sobre escalabilidade
e balanceamento de carga Agradeço
muito por ficar comigo até o
final desta palestra Estou ansioso para ver
você na próxima.
7. Torne sua API amigável ao usuário: Olá pessoal e bem-vindos
de volta a este curso de API. Nesta palestra,
falaremos sobre o design APIs
fáceis de usar
porque, na minha opinião, o verdadeiro valor de uma API
vai além da funcionalidade, está na facilidade de uso Nesta lição, exploraremos a arte de criar APIs
fáceis de usar, enfatizando por que isso é importante e como
alcançá-las de forma eficaz A facilidade de uso nas APIs não
é um mero luxo. É uma necessidade.
E aqui está o porquê. Uma API fácil de usar é mais fácil para os desenvolvedores
entenderem e usarem, reduzindo o tempo e o esforço necessários para
integrá-la aos aplicativos. APIs bem projetadas
têm menos probabilidade de causar
confusão ou erros, reduzindo a necessidade amplo suporte
e solução de problemas. É mais provável que
os desenvolvedores escolham e
defendam APIs intuitivas
e fáceis de trabalhar, levando a uma maior
adoção e uso É mais
provável que APIs fáceis de usar sejam mantidas
e atualizadas, garantindo sua viabilidade a longo
prazo em um cenário tecnológico em rápida evolução como o que temos hoje No que diz respeito
aos princípios de design para APIs
fáceis de usar,
temos consistência. Você deve manter um padrão de design
consistente em toda a sua API. Isso inclui convenções
de nomenclatura, estruturas de resposta de
solicitações
e tratamento de erros Use nomes claros e concisos para recursos, endpoints
e parâmetros Evite ambigüidade e complexidade
excessiva. Torne o
comportamento da API previsível. Os desenvolvedores devem ser
capazes de prever como a API responderá
às suas solicitações Certifique-se de que a API
seja autoexplicativa. Use nomes significativos e forneça documentação
detalhada,
incluindo exemplos de uso. Implemente o controle de versão
para permitir atualizações e melhorias mantendo a compatibilidade com
versões anteriores para A documentação é uma loja de esquina. Aqui, uma
documentação abrangente é fundamental. Documente minuciosamente sua
API, incluindo endpoints, estruturas de resposta de
solicitações, métodos de
autenticação
e códigos de erro Forneça exemplos
e casos de uso claros. Você pode ir para a seção onde eu explico como
você pode
documentar sua API usando especificação de API
aberta Swagger
Hub neste mesmo curso Em seguida, considere fornecer documentação
interativa usando ferramentas como
Swagger ou Open EPI Permitindo que os desenvolvedores testem os endpoints da
API
diretamente da documentação Mantenha um bloqueio de alterações para
informar os usuários sobre atualizações, correções de erros e novos recursos. Isso gera confiança e ajuda os
desenvolvedores a se adaptarem às
mudanças com muito mais rapidez Além disso, aumenta a
conscientização sobre eles. Também temos aqui um tratamento
consistente de erros. Use
códigos de status HTTP padrão para erros, 44 para não encontrado, 400 para solicitação incorreta 200 para uma boa resposta E a solicitação inclua uma mensagem de erro
descritiva no corpo da resposta. Qualquer que seja o código de status
recebido pelo cliente. Forneça detalhes adicionais do
erro, incluindo uma descrição
legível por humanos e potencialmente, um link para a documentação
relevante Se a limitação ou limitação de taxa
estiver em vigor em sua API
, ela deveria ser, como falamos em outra
palestra,
comunicada claramente na documentação comunicada claramente No que diz respeito à autenticação
e autorização, você deve ter uma autenticação
clara, especificar os métodos de autenticação clareza.
Se possível, implemente
mecanismos de autorização granulares para permitir que os desenvolvedores controlem o acesso
em um nível refinado ciclos de teste e feedback de Leslie são essenciais,
novamente, ao desenvolver
uma ABI fácil de Teste rigorosamente sua
API para garantir que ela se comporte conforme o esperado
em E não hesite em
pensar nos casos H. Busque ativamente o
feedback dos desenvolvedores que usam sua API e use a
opinião deles para fazer melhorias. Projetar APIs fáceis de usar
é uma arte que combina proficiência
técnica
com empatia
pelos desenvolvedores que
as usarão Uma API fácil de usar reduz atrito no processo de
integração, promove a satisfação do desenvolvedor
e contribui para o sucesso do
provedor de API e de seus É exatamente por isso que escolhi
falar sobre isso aqui em
uma palestra separada Espero que vocês implementem
algumas das estratégias discutidas aqui em seu
próprio desenvolvimento de API. Agradeço
muito por ficar comigo até o
final desta palestra e espero
vê-lo na próxima
8. Design RESTful: Olá pessoal, e bem-vindos de
volta ao discurso sobre APIs. Nesta palestra, examinaremos mais de perto os princípios de design RESTful
quando se trata de design geral de API Esses
princípios de design repousantes
surgiram como uma filosofia orientadora. Estamos criando sistemas elegantes, escaláveis e de
fácil manutenção Rest, que significa Representational
State Transfer, é um estilo arquitetônico que
enfatiza simplicidade, clareza e comunicação
baseada em recursos Nesta lição,
exploraremos os princípios fundamentais do design
RESTful e por que eles são essenciais no desenvolvimento de
software moderno Quando se trata de
entender o design RESTful, é crucial saber que ele está centrado em vários princípios
fundamentais que facilitam a criação
de serviços web fáceis de entender,
flexíveis e Em primeiro lugar,
temos apatridia. Os serviços RESTful não têm
estado, ou seja, cada solicitação de um cliente
para um servidor deve conter todas as informações necessárias para entender e
atender a essa Esse princípio simplifica a implementação
do servidor e também melhora drasticamente a
escalabilidade Além disso, tudo é um recurso, que pode ser um objeto físico, uma entidade conceitual
ou um item de dados Os recursos são identificados por identificadores uniformes de recursos ou como você deve ter ouvido, R, sim Eles podem ser manipulados. Os métodos HTTP padrão incluem post, put, patch, delete e assim por diante. Os recursos podem ter
várias representações como XML, Jason ou HTML Os clientes interagem com
essas representações e não diretamente com
o recurso em si. Essa flexibilidade permite a dissociação entre
clientes e servidores A comunicação em si é
apátrida. Clientes e servidores
se comunicam por meio solicitações
e respostas
sem estado Cada solicitação deve ser independente e o
servidor não deve reter nenhuma informação sobre o estado do cliente
entre as solicitações. Tudo, desde o
token do portador da
autenticação do cliente até a resposta fornecida
pelo servidor,
ocorrerá nessa solicitação Uma
interface uniforme e consistente é um princípio fundamental. Isso inclui o uso de métodos HTTP
padrão, mensagens
autodescritas e hipermídia como mecanismo do estado
do aplicativo Isso permite que os clientes naveguem pelos recursos
do aplicativo seguindo os links nas respostas. Falaremos sobre por que o design
repousante é importante. APIs RESTful são
inerentemente escaláveis porque não têm estado
e são orientadas Isso facilita
a distribuição
e o balanceamento de cargas das solicitações. Princípios de design simples
facilitam que desenvolvedores
entendam e usem as APIs Essa simplicidade reduz a curva de aprendizado
para novos desenvolvedores. O uso de várias
representações e a dissociação de
clientes e servidores fornecem flexibilidade para a evolução APIs sem prejudicar os clientes existentes. APIs RESTful usam métodos e formatos
HTTP padrão, promovendo a interoperabilidade entre diferentes Os recursos e suas
representações podem ser versionados e
atualizados de forma independente, o que simplifica a manutenção e reduz o risco de
introduzir alterações significativas As melhores práticas para um
design repousante são as seguintes. Em primeiro lugar, você deve usar
substantivos para nomes de recursos. Escolha substantivos significativos
e pluralizados para nomes de recursos. Escolha substantivos significativos
e pluralizados para nomes de recursos. Por exemplo, usuários para uma
coleção de recursos do usuário. Use métodos HTTP de forma adequada. Obtenha recursos de recuperação, publique para criar novos recursos, coloque para atualizar recursos e exclua para
remover recursos Siga essas convenções para
manter uma interface uniforme, fornecer
documentação clara e documentar minuciosamente
sua API,
incluindo URI de recursos, métodos HTTP
disponíveis e a estrutura das
representações de recursos Temos uma
seção inteira neste curso que ajudará você a
entender como você pode documentar
sua API na prática usando a especificação Open
API. Swagger Hub, você
pode conferir isso. Em seguida, temos o controle de versão. Se forem necessárias alterações, crie versão da sua API para garantir a compatibilidade com
versões anteriores
dos clientes existentes Novamente, temos uma
palestra sobre isso. Use códigos de status
HTTP apropriados para transmitir o resultado
de uma solicitação 200 em caso de sucesso,
44 em caso de não encontrado e 400 em caso de solicitação incorreta. Com tudo isso dito,
acho que os princípios de design do Restful oferecem uma estrutura robusta para criação de serviços web e APIs eficientes, fáceis de
manter e adaptáveis Ao aderir a esses princípios, os desenvolvedores podem
criar sistemas que não apenas atendam às necessidades
dos usuários atuais, mas também forneçam uma base
sólida para o crescimento futuro e a
evolução das APIs Muito obrigado por ficarem comigo até o
final desta palestra Eu realmente espero que você
implemente alguns
dos princípios de design RESTful sobre os quais
falamos hoje em suas APIs Estou ansioso para ver
você na próxima palestra.
9. Versionamento de API: Olá pessoal, bem-vindos de
volta ao Discourse on APIs. Nesta palestra,
vamos dar
uma olhada no controle de versões da API Veremos por que o controle de versão
é importante em primeiro lugar. Em seguida, entenderemos
quais são as estratégias para versão
da API e
as melhores práticas quando se trata de controle de começar com
o que realmente é, versões de
APIs é
a prática de
gerenciar alterações nas APIs de uma forma
que garanta
a compatibilidade com versões anteriores e, ao mesmo tempo permita
as atualizações e melhorias necessárias Ele serve como uma ponte
entre o antigo e o novo, garantindo que as integrações
e os clientes
existentes continuem funcionando sem problemas,
ao mesmo tempo em que acomoda
as necessidades em evolução dos Passando para a razão pela qual o controle de
versões é importante. Embora os clientes existentes
dependam do comportamento da API, mudanças
abruptas podem interromper esses clientes e interromper os serviços que
dependem É aqui que entra o
controle de versões. Ele ajuda a manter
a estabilidade ao isolar as mudanças das implementações
existentes Além disso, as APIs precisam se adaptar
e melhorar com o tempo para atender às mudanças nos requisitos e também aos
avanços tecnológicos controle de versão, novamente,
permite que os desenvolvedores introduzam novos
recursos, corrijam bugs e otimizem o desempenho sem afetar os usuários existentes
que já estão usando API específica. O controle de
versão fornece uma maneira clara e padronizada aos Ele incentiva a
documentação abrangente e a transparência
na evolução da API Falando sobre estratégias
para controle de versão de API, existem algumas começando com a mais usada,
que é
o controle de versão de URL Essa estratégia envolve incluir o número da versão
da API na URL. Por exemplo, você pode
ter o domínio da sua API e, em seguida, colocar
um V e o número da versão em que você está.
Continuando com o recurso no
qual você está tentando fazer
uma operação de CRD É simples
e fácil de entender, mas pode gerar
URLs confusos à medida que É exatamente por isso que
existem mais estratégias
para o controle de versões da API O segundo é o controle de versão do
cabeçalho. Aqui, a versão é especificada em um cabeçalho HTTP
em vez de um URL. Você pode pensar nesse cabeçalho
como aceitar a versão negativa. E então você pode especificar
a versão real, que pode ser V e seguida, o número da
versão em que você está. Essa abordagem mantém
os URLs mais limpos, mas pode exigir
um esforço adicional dos clientes que estão tentando chamar sua API para analisar o cabeçalho corretamente Eles podem até esquecer de colocá-lo
lá, pois o controle de versão do URL é simples e vem diretamente do URL que
você está Ele tem uma
taxa de erros muito menor. Também há controle de versão do
tipo de mídia. Essa abordagem
incorpora a versão no tipo de mídia, como
aplicativos, por exemplo, VND, depois a versão mais Json Isso fornece uma maneira
clara de especificar
a versão nas solicitações
e respostas, mas pode ser mais complexo de
implementar, pois os arquivos reais precisam ter
a versão em seus nomes. Leslie, há versionamento
semântico. Usar o controle de
versão semântico é comum em bibliotecas de código
aberto e
pode ser aplicado às APIs Ele oferece
informações detalhadas sobre a versão
, facilitando a compreensão da natureza das alterações. Vamos dar uma olhada agora
nas melhores práticas quando
se trata de controle de versão de API E a primeira é
implementá-la desde o início do
desenvolvimento da API. Basta planejar o controle de versão
desde o início. Isso evita desafios
ao introduzir versão em uma API existente, o
que é muito mais difícil Será mais fácil se
você tiver isso o tempo todo. Se possível, adapte o controle de versão
semântico
para ter clareza sobre o tipo de
alterações em cada Essas mudanças podem
ser maiores, menores ou apenas um simples patch,
sempre que possível. Além disso, mantenha a compatibilidade
com versões anteriores, desative os recursos
e dê aos desenvolvedores período de
carência para Além disso, se você mantiver essa
compatibilidade com versões anteriores, será muito
mais fácil para eles
se integrarem à sua versão
mais recente da API Próximo documento,
estratégias de controle de versão e mudanças. Forneça detalhadamente guias de
migração para desenvolvedores que estão fazendo
a transição para novas versões Considere oferecer suporte de
longo prazo para APIs
críticas,
garantindo estabilidade para clientes com ciclos de vida
estendidos. Teste rigorosamente cada
versão para detectar regressões e
garantir Monitore o uso da API para
identificar as necessidades de suspensão de uso. Isso seria tudo quando
se trata de versionar
sua própria API. Eu realmente espero que vocês tenham entendido
algo dessa palestra. Se você tiver alguma dúvida, não hesite em
entrar em contato comigo. Muito obrigado por ficar comigo até o final, e estou ansioso para
ver você na próxima
10. Configurando um ambiente de codificação: Olá pessoal, bem-vindos de volta
a este curso sobre APIs. Nesta seção,
veremos como
podemos criar uma API
do zero e também colocá-la à venda no site Rapid
API,
sobre
o qual eu
já falei neste curso. Em primeiro lugar, vincularei na
pasta de recursos deste curso, o repositório Github, com o código que
apresentarei a Você pode cloná-lo em sua máquina local e
alterá-lo como quiser Como você pode ver na tela, esse é o repositório real Isso facilitará a configuração
de uma nova API e a publicação
dela para venda. O método de
implantação de uma API pública apresentado aqui será muito
rápido e direto Além disso, será
totalmente gratuito. Ao final desta seção, você terá uma URL de variável
on-line para a qual
poderá fazer solicitações usando essa Você publicará sua
primeira API no repid pi.com e eu também,
como disse, mostrarei como
você pode monetizá-la Como você pode ver aqui, a API é implantada ao vivo nesse URL E se clicarmos nesse link, ele é realmente nosso. Você pode ver que
temos aqui a URL. E também precisa de um parâmetro. Isso nos dá os dividendos dos
últimos dez anos de um determinado símbolo de ações que
tenho aqui como renda real Mas você também pode escolher a Apple, digamos que, no momento,
ela esteja, na verdade, obtendo os dados dos dividendos que Apple concedeu nos
últimos dez anos Como você pode ver, temos
a taxa de dividendos, o valor, a data da
declaração, a data de registro e
a data do pagamento Usaremos uma
técnica chamada web scraping aqui para obter
as informações reais que nossa API exporá
diretamente da Internet sem armazená-las em
nenhum Para uma configuração rápida do servidor, usaremos o
Express Framework. Toda essa funcionalidade
caberá no arquivo Javascript. Como você pode ver, é
o arquivo JS de dividendos que apresentarei a você com
mais detalhes em futuras palestras Depois de obtermos as
informações que precisamos que
nossa API exponha
da Internet, precisaremos analisá-las apenas
nos campos necessários para agilizar esse processo Usaremos a estrutura
Cheerio. Esta é, como você pode ver, biblioteca para analisar e
manipular HTML e XML Obviamente, vamos
usá-lo para HTML. É muito rápido e tem uma sintaxe muito intuitiva e
fácil de usar Agora, uma vez que tenhamos a API construída localmente e a recuperação de informações do site
na Internet funcione em
nosso endpoint local Precisamos
implantá-lo publicamente na web para que possamos ter um link
próprio para uma API rápida. Como você viu, eu tenho aqui
o aplicativo de dividendos Netlify. Para fazer isso, encontrei um site de hospedagem gratuita chamado Netlify e vamos nos
integrar a Isso é muito parecido com o Roku, mas eu tentei o Roku e ele não oferece mais um plano
gratuito Infelizmente, o Netlify tem. Essa é uma
opção muito boa para implantar nosso site e tudo
isso gratuitamente. Se você consultar os preços, verá que o
plano inicial é gratuito e
você tem 100 gigabytes de largura de banda
e Os minutos de construção referem-se a quando seu site está sendo construído
antes de ser implantado 100 gigabytes de
largura de banda se referem à quantidade de dados que outros usuários consomem ao assistir 100 gigabytes de
largura de banda são suficientes, especialmente se você está
apenas começando E descobri
que esse é o meu caso, especialmente para o propósito
do que estamos fazendo aqui. Na verdade, você pode fazer algumas
vendas na API Rapid, com certeza, antes de esgotar
esses 100 gigabytes A funcionalidade específica
da API que criaremos aqui
será recuperar, como você viu, as informações de
dividendos, como data e valor dos últimos dez anos,
para o símbolo de ações que fornecemos a ela como parâmetro Agora, o site
que eu decidi
criar se chama Street É esse site aqui
que parece bem antigo, mas tem uma estrutura bem
simples. Portanto, será fácil direcionar
as informações de que precisamos das linhas de suas tabelas usando
a estrutura Cheerio Na verdade, esse é o
motivo pelo qual
não precisamos de um banco de dados nos
bastidores. E não precisamos armazenar
todos os dados de dividendos de
todos os símbolos de ações em
que pudéssemos imaginar Agora, se fizermos uma função F 12 sobre isso e
navegarmos no Des. Quando chegamos às linhas que contêm os dividendos
reais, você pode ver que ela tem uma tabela com uma classe
chamada dividendos Este tem um corpo e as linhas da tabela, como você pode ver à esquerda,
contêm as informações reais dos
dividendos Depois de abrirmos uma linha da tabela, você pode ver as informações que podemos seguir em frente e coletar Usaremos o Chi
para detectar os identificadores de dados da tabela
neste documento HTML É muito útil porque não
é tão complicado
e, na verdade, essas são
as únicas linhas da tabela
que o site tem Mas com isso dito, explicarei todo o código que temos aqui e como
implantá-lo também no
Netlify e, em seguida, como realmente implantar essa API que
desenvolvemos na API rápida Você pode vê-lo implantado aqui
e também tem um plano pago. Se os usuários quiserem fazer
mais solicitações,
então um limite básico
que você configurará. Se você está ansioso para
aprender sobre esse tópico, espero
vê-lo na próxima palestra Obrigado por ficar comigo
até o final desta.
11. Codificando nossa própria API: Olá pessoal e bem-vindos
de volta a este curso de API. Nesta palestra, examinaremos mais
de perto
o script que
mostrei na
introdução
desta seção sobre como
vender uma API E vamos entender
o que ele faz exatamente para que você possa
replicá-lo com
uma URL diferente Coletando algumas
informações diferentes da web e criando sua própria API para implantá-la ao vivo
na Além disso,
publique-o no Rapid API.com e faça algumas
vendas com ele também A primeira coisa que você precisa fazer para executar esse código será instalar o Nog
em sua máquina local Você pode acessar o site do
No Jtg e,
na página de downloads,
poderá selecionar seu
sistema operacional Eu tenho Mac aqui, plataforma Windows ou Linux. Você pode escolher opções
diferentes
e, depois de pressionar isso, o executável
começará a ser baixado
em sua máquina local E você prosseguirá
a partir daí e o
instalará com um assistente de configuração bem
simples. Depois de instalar o node
em sua máquina local, você pode prosseguir e
clonar nosso repositório A partir deste link, você
pode acessar
esta URL do Github, que eu
também vincularei na
pasta de recursos deste curso Clique nesse botão de código, copie esse URL e vá em
frente no seu terminal. Se você instalou e executou o git clone e, em seguida, esse URL, ele clonará todo o
repositório Depois, você pode
abri-lo em um editor. Eu tenho aqui o código do Visual Studio para executar esse repositório e vê-lo de uma forma
mais bonita Depois de baixá-lo, clone-o em sua máquina local Você não terá a pasta de módulos do
nó e eu explicarei o
porquê em apenas um segundo Mas além disso, você
terá todos os arquivos. O arquivo gitignore é
usado para ignorar alguns dos arquivos que você tem
dentro
da pasta e
não Por que isso é útil porque uma vez que você tenha uma pasta de módulos de
nó, não precisará
realmente confirmá-la. Especificamos que
no git ignore para esse código seja executado,
você executará o NPM primeiro
no pacote em que o Json será criado e no bloqueio do pacote J também será
criado Aqui, todos os pacotes necessários para este projeto
serão especificados. Então você pode ver aqui
que também estamos usando o Express e o Axis
Cheerio, que são todos pacotes que
você ainda não instalou Para isso, você pode executar NPM install e depois o
nome de cada um deles, mas também pode simplesmente
executar o NPM Isso criará
a
pasta de módulos do nó com todos os
pacotes
que você precisará. Você pode ver que,
por padrão, ele
instalará todos os
outros pacotes como o Express e assim
por diante. Não, quando chegar a esse ponto, você poderá executar
o NPM Start para que esse aplicativo
funcione localmente Mas o que estamos
tentando fazer aqui é dar
um passo em frente
e torná-lo vivo. Implante-o na web real, para que você possa chamá-lo de lá. Dito isso, vamos dar
uma olhada no código real. Você pode ver que temos funções
de código de pasta, que é para o aplicativo Netlify, onde
implantaremos nosso Você pode ver aqui que precisamos especificar
a compilação
e, na pasta de funções, é o script que
queremos implantar. O Netlify ML é outro arquivo
essencial para você, e você precisará dele
para implantá-lo no Você pode ver que aqui temos a constante do roteador declarada, que é o roteador expresso. E isso criará um
servidor que tenha rotas. Você pode criar
mais de uma rota com ele. Você pode ver que
temos uma rota padrão em nosso site implantado Você pode ver que essa é
a rota padrão e diz apenas bem-vindo à API de dividendos de ações,
como você pode ver aqui Mas também tem uma rota que usa um símbolo. Se você se lembra
da última palestra, eu lhe dei um símbolo
e ele recuperou informações de
dividendos desse símbolo
de Se o usuário inserir o caminho do
símbolo, primeiro ele pegará o parâmetro do
símbolo da solicitação e
o colocará em
uma constante chamada símbolo. O URL, como eu já disse vocês, é do site
que será copiado É para isso que faremos uma solicitação para
recuperar as informações A URL trata do histórico de dividendos da insider.com
slash. E então o primeiro
parâmetro de consulta é especificado pelo ponto de interrogação
e Q e, em seguida, igual. Você pode ver se vamos até aqui,
esse é o URL exato. Aqui está o símbolo da ação
da qual você deseja
recuperar o dividendo Recebemos isso como um parâmetro
e, em seguida, usamos axis para fazer
uma solicitação gat para esse URL E o caminho real é
o URL mais o símbolo. Isso recuperará o HTML
real desta página. Quando obtemos isso, obtemos todo
esse documento HTML, depois o temos aqui
na resposta, esses dados,
os atribuímos
a uma variável HTML. E então usamos o Chi, a estrutura
sobre a qual falei que pode facilmente escolher os elementos HTML e as informações
dentro dela para carregá-los, e os colocamos na variável do
cifrão. Essa variável de cifrão é a cereja da sintaxe Vamos
procurar os dados da tabela. Como eu disse novamente
na palestra anterior, é aqui que os
dividendos estão sendo armazenados nesta tabela
que você vê Existem algumas linhas da tabela, elementos que armazenam essas
informações que precisamos analisar para cada dado da tabela Vamos tirar o
texto dele e depois
colocá-lo em uma matriz
que contém dados de dividendos, e eu o declarei aqui, e está vazio Em seguida, analisaremos
essa matriz de dados de dividendos. E vamos
criar um objeto chamado dividendo com todas
essas propriedades de string E vamos armazenar e
emitir os dados reais de dividendos que não serão recuperados, como você Por exemplo, se eu der ao símbolo
da ação diretamente
as datas dos dividendos Nesse formato, ele
precisará ser analisado um pouco mais porque também
conterá outras
coisas Mas eu criei esse código específico
para obter apenas a data real. Em seguida, vou empurrar esse objeto de dividendo para
outra matriz vazia declarada No final, o resultado
será essa matriz com todos os
dados analisados no formato Json É isso que a
rota da bola retornará para nós. Você também precisará
usar este aplicativo aqui, ou
seja, o aplicativo expresso, para tornar o Netlify amigável Para poder implantar todo
esse aplicativo no Netlify
como primeiro parâmetro Isso levará o nome da função que você tem
e o nome da função da pasta e
o
Netlify. Antes disso, também será necessário um roteador O roteador é o roteador
expresso. Além disso, o módulo exporta. manipulador deve ser especificado para ser sem servidor
para este aplicativo aqui Depois de clonar esse código exato, o que eu sugiro que você
faça, torne-o
implantável no Implante-o lá e
veja se funciona. E se isso acontecer, vá em frente, altere esse URL
por outra coisa e crie um site diferente Mas isso é sobre o código. Em uma palestra futura,
veremos como você pode realmente
implantá-lo no Netlify Depois disso,
vamos dar uma olhada em como você
pode publicá-lo para venda no alerta de spoiler do Pipi.com
Studio Isso é feito a partir daqui. Do projeto de API. Mas com isso
dito, obrigado por ficarem comigo até
o final desta palestra. Se você tiver alguma dúvida
sobre este projeto, estou realmente ansioso
para respondê-la. Você pode me enviar uma mensagem aqui. Isso seria
tudo com esta palestra. Obrigado por ficar
comigo até o final.
12. Implantando nossa API na Web: Olá pessoal e bem-vindos
de volta ao curso sobre APIs. Nesta palestra,
veremos
como podemos implantar
o life, a API que criamos na como podemos implantar
o life, a API que criamos última palestra
e como podemos fazer
isso gratuitamente
em
um método muito simples e
fácil de entender, especialmente para iniciantes. Por isso, encontrei o site Netlify.com,
que é muito semelhante ao Roku,
mas o Heroku não Heroku Todos os planos foram pagos. O Netlify, por outro lado, tem um plano inicial gratuito Ele oferece 100 gigabytes de
largura de banda para 3.300 minutos de
construção, que eu achei suficiente Especialmente se você está
apenas começando. Você pode implantar várias APIs e colocá-las
à venda na API rápida. E quando você começar a obter
alguma receita com eles, você pode prosseguir e
fazer o upgrade para o plano profissional se achar que este é
um pouco pequeno para você, mas mesmo assim acho
que será suficiente
por algum tempo. Você não pode usar 100 gigabytes de
largura de banda tão rapidamente, especialmente se as informações retornadas forem
assim Então, sem imagens, nada tão grande. Você pode ver aqui que eles tornam sites
implantáveis
ativos na web Você não obterá um
domínio personalizado com o plano inicial. Como você pode ver aqui, temos aplicativo
Netlify dot, mas ele está ativo Isso é tudo o que importa. Especialmente porque depois de
implantá-la na API Rapid, os
usuários finais reais não verão a URL que você forneceu à Rapid
API para seu endpoint Será um URL diferente que a API Repid fornecerá a eles. Então, com isso dito, você pode ver que
eles dizem que você pode escalar sem esforço e criam sites que
veiculam sites que
veiculam campanhas e lojas,
coisas assim Portanto, há uma grande variedade
de possibilidades aqui. Usaremos isso apenas para
implantar nossa API web simples. Para isso, você pode ir
em frente e se inscrever. Eu já fiz isso. Você pode ver que minha
API de dividendos já está implantada. Eu brinquei um
pouco com ele e você pode ver que eu consumi apenas 1
megabyte em 100 gigabytes
e dois
minutos de construção Isso é mais do que suficiente. Toda essa largura de banda e
minutos de construção são redefinidos mensalmente, então não é uma vez, apenas mensalmente Mas se você quiser implantar seu próprio site, pode entrar no aplicativo Netlify.com Aqui. Você pode se conectar, em
primeiro lugar, à sua conta do Github e clicar em
Implantar com o Github Depois disso, você eliminará o repositório real
que deseja implantar Aqui você já precisará do repositório real
no Github. Colocado aí, você precisará
pegar minha solução e seu próprio
repositório Github ou você pode simplesmente usar meu
repositório para Se você, então você o
implantará com o Github. É uma
autenticação de dois fatores que é feita aqui. E então, para todos os repositórios
públicos você terá
uma opção aqui Você pode prosseguir clicando aqui. Você também pode especificar a ramificação
que deseja implantar. O diretório de funções
é muito importante aqui porque o nome
dele pode ser diferente. No seu caso, basta digitar
qual
é o nome dele no seu caso e, em seguida, você
pode implantá-lo. Depois de fazer isso, ele
será implantado. Esses são os minutos
reais de construção os quais eles estavam
falando agora. A implantação do site
aciona uma construção e
isso leva Você está limitado a
300 minutos, mas viu que
eu usei apenas dois. Você pode ver a rapidez com que ele
já foi implantado. Agora, se você quiser um domínio personalizado, que eu imagino que não, mas
se você precisar comprar um e depois proteger
seu site com HTTPS. Mas para o propósito
deste vídeo, para o propósito do
que estamos tentando
fazer aqui, isso é redundante Agora você pode ver que nosso
site foi implantado aqui. Na verdade, podemos especificar um subdomínio diferente
que eles nos fornecem aqui Mas você não conseguirá
se livrar do aplicativo
Netlify dot, mas não pode dar a ele
um nome mais bonito como eu fiz aqui
com o Eu faço o aplicativo Netlify dot. E depois de fazer isso, seu site deve estar
praticamente implantado, como
você pode ver aqui E você deve ter duas rotas. O padrão que, se você se lembra, retornou bem-vindo à API de dividendos de
ações E outra rota que, em um símbolo que você especifica, recuperaria os dados de
dividendos que
extraímos do site Street Insider Isso foi tudo para a implantação da API
na Internet ao vivo. Na próxima palestra,
veremos como você pode usar uma API
rápida e implantá-la e, além disso, colocá-la à venda
ao lado das outras excelentes
que estão disponíveis aqui Mas se você está
curioso para ver isso, espero
vê-lo na próxima palestra. Muito obrigado por ficar comigo até o
final desta
13. 4ff: Olá pessoal e bem-vindos de
volta ao curso de API. Nesta palestra, veremos
como você pode colocar sua API ativa implantada no site
da Rapid API E como você pode gerar
receita com isso, como você pode monetizá-lo Se você acompanhou
nossa última palestra, você deve ter uma vida útil de
API de dividendos na Internet com um URL real que você pode inserir no navegador Chrome
ou em qualquer navegador que você use E ele deve retornar
todas as informações de outro site
que você copiou Depois de fazer isso,
você deve ir em frente e acessar o Rapid API.com Aqui estão todas as APIs que são publicadas para venda
ou mesmo gratuitamente, e você também deseja publicar
sua API Você deve criar uma conta
no Rapid API.com e depois acessar a seção
Minhas APIs Como você pode ver, eu já
tenho essa API de dividendos implantada Dei uma imagem,
dei uma categoria que é
finanças, uma breve descrição
dos dados de dividendos mais de 75.000 ações entregues, formato Json
inconveniente Como você viu, o formato em que esses dividendos vêm é Json Agora, você também pode ter uma descrição longa e aqui
está a parte mais importante. Você lhe dará uma versão, você só terá
uma versão. Então isso não importa, mas o URL é muito importante. Você também deve fornecer o URL base, que é este aqui, como você viu no navegador
da web. Sem esse símbolo, esse
era um caminho diferente. Depois de fazer isso, você pode ir em frente e acessar as definições. Aqui temos a
definição do símbolo. Você pode seguir em frente e
criar um endpoint. Aqui temos o nome, obtenha as
informações de dividendos de uma empresa Assegure a descrição de que
esse endpoint retornará informações sobre
dividendos com base
no símbolo que você forneceu
nos últimos dez anos Ele também tem um parâmetro
que é o símbolo. Você também pode dar
um exemplo aqui. Por exemplo, o valor da
maçã deve retornar algo. Também é do tipo string. Esse parâmetro, eu também dei uma resposta bem-sucedida retirada
do navegador da web. Além disso, se você tiver e quiser criar outros endpoints, você também deve
especificá-los aqui
adicionando endpoints diferentes
no botão Criar endpoint Você também pode criar
endpoints semelhantes em grupos. Para isso, você pressionará
o botão Criar grupo. Agora, a documentação
da sua API, deixei o vazio aqui, mas se você tiver uma
documentação que especifique com mais detalhes
o que seu endpoint faz, você deve escrevê-la aqui O gateway, novamente, eu o deixei como API
Rapid o forneceu
para a comunidade. Eu não mudei nada na época
para o Monetize deb, que é o motivo pelo qual vocês
realmente vieram aqui, onde você pode realmente gerar receita com essa API
que você criou aqui,
você pode realmente
criar alguns planos pagos Você pode fornecer uma solicitação básica
com 20 solicitações por
mês para que o usuário possa ver o que sua API retorna
e como ela é. Em seguida, você pode especificar
alguns outros. Você pode ver que eu tenho um plano profissional que tem um limite de taxa de
dez solicitações por segundo. Também podemos fazer desse o plano
recomendado ou outro, mas você também pode especificar
um preço de assinatura. Depois de fazer isso, você
pode publicar sua API. Depois disso, você
poderá dar uma olhada nas análises e ver
como está
o desempenho da sua API. Qual é a latência média? Ele também receberá marca de API -9.5,
o que é muito bom, mas é baseado em quantas solicitações
bem-sucedidas
existem e também na latência sobre a qual
eu estava falando com você Mas com isso dito, agora você tem uma API
implantada na Internet
e também colocada
à venda no
PPP.com, e também colocada
à venda no que era todo o nosso
objetivo nesta seção Muito obrigado por ficar
comigo até o final
desta seção e
espero vê-lo em futuras. Além disso, se você tiver alguma dúvida, não
hesite em
entrar em contato comigo aqui. Estou disponível para vocês. E, novamente,
muito obrigado por se matricular
neste curso e por ouvi-lo
comigo. Tenha um bom dia.
14. Vulnerabilidades comuns de API: Olá pessoal, e bem-vindos de
volta ao discurso sobre APIs. Nesta lição, exploraremos vulnerabilidades
comuns de segurança de APIs, como injeção de SQL e falsificação de solicitações entre
sites E também discuta
estratégias de prevenção. Acho que isso é muito importante, especialmente se você estiver
desenvolvendo sua própria API. Vamos começar entendendo as
vulnerabilidades comuns de segurança da API Primeiramente, começaremos
com a injeção de SQL, a mais comum. A injeção de SQL ocorre
quando um invasor insere instruções SQL
maliciosas em
um campo de entrada ou solicitação, potencialmente concedendo acesso
não autorizado a
um banco de dados ou comprometendo a integridade Para evitar isso, podemos usar consultas
parametrizadas ou instruções
preparadas para separar a entrada
do usuário dos Implementar validação de entrada
e dados higienizados antes processamento são algumas
das outras estratégias usadas para
evitar esse tipo de ataque Em seguida, temos a falsificação de solicitações entre
sites. Esses ataques induzem os usuários a executar ações não intencionais
em um aplicativo da web, geralmente quando autenticados
sem Para evitar isso, você pode usar tokens falsificados de
solicitação cruzada do Ant e garantir que todas as solicitações mudem de
estado Como exemplo, aqui
publicamos
e excluímos a necessidade de
autenticação. No próximo exemplo,
quebramos a autenticação. Essas vulnerabilidades ocorrem quando os mecanismos de
autenticação
não são implementados adequadamente, permitindo que os invasores
obtenham acesso Para evitar isso,
você pode implementar uma autenticação forte
e um gerenciamento de sessões, usar o armazenamento seguro de senhas, ativar a
autenticação multifator e testar
regularmente as vulnerabilidades Outro tipo de vulnerabilidade de
segurança da API é a desrealização insegura Aqui, os atacantes exploram
vulnerabilidades nos processos de
desrealização para executar código
arbitrário ou obter acesso arbitrário Empregue práticas seguras de
desrealização, incluindo listagem ampla, classes
permitidas e uso de
dados assinados sempre que A última vulnerabilidade de segurança
é a exposição de dados confidenciais. Essas vulnerabilidades ocorrem
quando informações confidenciais, como senhas ou tokens, não
são protegidas adequadamente Você deve usar criptografia, por exemplo, TLS para dados
em trânsito e dados confiáveis,
e empregar algoritmos de criptografia fortes
. Limite o acesso a
dados confidenciais com base na necessidade de conhecimento. Passando para a parte mais
importante desta palestra, as estratégias de prevenção Primeiro, você deve sempre
validar e higienizar entradas
do usuário para evitar que dados
maliciosos entrem dados
maliciosos Use
modelos de segurança positivos, como lista
branca, sempre que possível. E tente, para cada entrada especificar
um tipo para ela. O usuário não pode inserir cadeias quando deveria inserir
uma data e assim por diante Use consultas parametrizadas ou instruções
preparadas para separar entradas
do usuário Isso reduzirá drasticamente
o risco de injeção de SQL. Implemente
mecanismos de autenticação robustos e aplique verificações de autorização
adequadas para garantir que somente usuários autorizados possam
acessar recursos específicos Inclua tokens CSRF
nas solicitações para
verificar a autenticidade das solicitações
recebidas e
mitigar solicitações
recebidas e Implemente
a limitação de taxa para evitar abusos ou ataques de DDOS em sua API Neste curso,
temos outra palestra especialmente dedicada à limitação e
limitação de taxas Utilize
cabeçalhos de CSP ou de política de segurança de
conteúdo para
mitigar ataques de script entre sites, especificando quais fontes de conteúdo
podem ser
carregadas podem ser
carregadas Realize
auditorias regulares de segurança, análises de código e testes de penetração para identificar vulnerabilidades Treine desenvolvedores e
mantenedores sobre práticas
seguras de codificação e a importância da segurança
no ciclo de Mantenha todos os componentes, bibliotecas e estruturas atualizados
para se beneficiar da segurança, patches e das atualizações que
podem ser lançados com o tempo Epi's são a força vital dos sistemas de software
modernos, mas seu
uso generalizado os expõe a
várias vulnerabilidades de segurança ao compreender vulnerabilidades comuns,
como injeção escalar Os Epi's são a força vital dos sistemas de software
modernos,
mas seu
uso generalizado os expõe a
várias vulnerabilidades de segurança ao compreender vulnerabilidades
comuns,
como injeção escalar, CSRF e outras. E implementando estratégias robustas de
prevenção como a mencionada aqui. Desenvolvedores como você
e organizações podem fortalecer suas APIs
contra possíveis ameaças Isso era sobre
a API comum, ameaças de
vulnerabilidade de segurança. E eu realmente espero que vocês tenham
conseguido algo com isso. E você poderá implementar
algumas das estratégias sobre as quais falamos aqui
em suas próprias APIs. Com tudo isso dito, obrigado por ficarem
comigo até o final
desta palestra, e espero
ver vocês na próxima
15. Limitação de taxa de API: Olá pessoal, e bem-vindos de
volta ao discurso sobre APIs. Nesta palestra, falaremos
sobre um assunto muito importante
que é a sobre um assunto muito importante API de limitação de taxa
e limitação de Limitação de taxa e alteração são técnicas usadas para
controlar o número
de solicitações feitas a uma API
dentro de um período de tempo específico Esses mecanismos servem a
vários propósitos cruciais. Eles ajudam a evitar o uso abusivo
ou malicioso de uma API, como ataques distribuídos
de negação de serviço ou raspagem Eles garantem acesso justo aos recursos
da API
entre todos os usuários. Impedir que um único cliente monopolize a capacidade dos
serviços Eles mantêm o desempenho da API
evitando sobrecargas Permitindo que ele atenda às
solicitações de forma confiável. Novamente, as solicitações vêm em um ritmo
normal por causa delas. Muitas APIs têm
limites de uso descritos
nos termos de serviço que
os usuários devem seguir Esses limites são, em
um nível concreto, implementados por meio de limitação e
limitação de taxas A limitação de taxa e a aceleração são frequentemente usadas de forma intercambiável, mas Vamos falar agora sobre cada um
deles para entender
a diferença entre eles e o que cada um
deles é exatamente. limitação de taxa restringe
o número de solicitações que um cliente pode fazer
dentro de uma janela de tempo específica, como 100 solicitações por minuto Quando o limite for atingido, o cliente deverá esperar ou receber uma resposta de erro se
tentar fazer mais de 100
solicitações por minuto, e a contagem será redefinida após esse
minuto específico. Isso é só um exemplo. Obviamente, o limite real pode ser diferente de
uma API para outra. A limitação, por outro lado, controla a taxa na qual as solicitações são processadas
no site do servidor Por exemplo, um
servidor pode processar no máximo 50
solicitações por segundo, independentemente de quantas
solicitações sejam recebidas. As solicitações de acesso são
indicadas ou atrasadas. Há muitas estratégias de implementação quando se
trata de limitação de taxa e limitação, e você realmente deve
dar uma olhada nelas se estiver tentando
criar sua Primeiro, temos o algoritmo do
token bucket. Esse algoritmo
envolve a atribuição tokens
aos clientes a uma taxa fixa Cada solicitação consome um token. Se nenhum token estiver
disponível de um cliente, esse cliente deverá esperar. Essa abordagem é flexível e pode lidar com rajadas ou tráfego A segunda estratégia é chamada de contadores de janelas
fixas. Aqui, o limite da taxa é calculado dentro de janelas de tempo
fixas, por exemplo, por minuto. Quando a janela expira,
o contador é reiniciado. Essa estratégia pode levar a picos nas
taxas se não for
gerenciada com cuidado Portanto, você realmente deve prestar
atenção ao tamanho seu contador em uma janela de tempo
específica. Por fim, também temos o algoritmo
leaky bucket. É semelhante a um bucket físico com vazamento: as solicitações são processadas a
uma taxa constante, solicitações de
acesso transbordam
e Esse método garante uma taxa
constante de processamento. As melhores práticas quando se trata e
limitação de taxas são, antes de tudo,
comunicar claramente os limites de taxa
e as políticas de limitação
aos e as políticas de limitação Isso geralmente é feito por meio documentação e cabeçalhos de
resposta Em seguida, você pode implementar respostas de erro
fáceis de usar e fornecer mecanismos de repetição para clientes que excedam os limites de taxa Obviamente, você deve monitorar
continuamente uso
da API para detectar e mitigar problemas de abuso ou
desempenho Colete e analise dados para ajustar
os limites de taxa dinamicamente Outro conselho que eu
daria a você aqui seria
vincular a limitação de taxa à autenticação
do usuário Permitindo limites diferentes com base nas funções do usuário ou nos pneus. Você pode implementar
um limite maior para alguém que tenha um privilégio
maior Por exemplo, um
administrador pode receber 100 solicitações por minuto, enquanto um usuário normal
receberia 50 ou 25. Você também deve planejar
limites de intermitência para acomodar
picos ocasionais Com tudo isso dito, e a limitação
da taxa de API são ferramentas vitais para
manter a estabilidade, a segurança e a imparcialidade dos serviços de API no ecossistema digital atual Ao entender
esses mecanismos, implementá-los de
forma eficaz e aderir às melhores práticas, provedores de
API como
você podem encontrar o equilíbrio certo entre
fornecer acesso a seus recursos e proteger
seus sistemas contra uso indevido ou até mesmo
abuso Essa é exatamente a
razão pela qual acho que a emissão e a
limitação de vermelho são uma parte
prejudicial da implementação
de sua própria API Obrigado por ficarem
comigo até o final
desta palestra Eu realmente espero que você tenha conseguido
algo com isso. E limitar e alterar
será algo que você implementará no
futuro em sua Estou ansioso para ver
você na próxima palestra.
16. Como manter sua API segura?: Olá pessoal e bem-vindos de volta
ao discurso sobre APIs. Nesta palestra, veremos como exatamente você
pode manter seguras as APIs que você desenvolve, malware
ou pessoas com más Esse é um
tópico muito importante hoje em dia qual acho
que poucas
pessoas estão falando. Há vários
aspectos nisso. Então, vamos abordá-los nesta palestra
e espero que, ao final, você tenha uma melhor
compreensão sobre quais são exatamente as implicações de manter
a API que Antes de tudo, você
precisa entender
a importância
da segurança da API. APIs são como pontes
que permitem que dados e funcionalidades fluam entre
diferentes aplicativos, tanto interna quanto externamente Proteger essas pontes é
crucial por vários motivos. O primeiro é a proteção de dados. As APIs geralmente transmitem dados
confidenciais. Uma ponte pode resultar
na exposição de informações
privadas, dados
financeiros ou propriedade
intelectual. Você também tem aqui o gerenciamento de
reputação Um incidente de segurança pode manchar a reputação da sua
organização, corroendo a confiança entre clientes, parceiros e Você pode pensar aqui nas
várias quedas de
reputação que ocorreram em muitas empresas que,
na verdade, tiveram uma violação no banco de dados de usuários e
suas senhas vazaram Como exemplo aqui, fico pensando na ação X da empresa que
está vendendo tênis A terceira coisa que
temos aqui entender a
importância da conformidade com os valores mobiliários da ABI Muitos setores estão sujeitos a regulamentações
rígidas de proteção de dados. Não proteger as
APIs pode levar a consequências
legais
e multas pesadas O segundo ponto que você
precisa ter em mente ao falar sobre segurança de API
é a anatomia dela. Envolve várias camadas, como eu disse antes,
e componentes. Você pode
pensar aqui na autenticação, que é verificar adequadamente a identidade das
partes envolvidas E essa é a primeira linha de técnicas de defesa,
como chaves de API, protocolo de juramento e tokens da web
Jason, comumente
usados para essa finalidade Também temos autorização
que é após a autenticação. E sua função é
determinar quais ações e dados cada usuário ou sistema
tem permissão para acessar. O controle de acesso e os
escopos baseados em funções ajudam a reforçar isso. Porque em aplicativos, funções
diferentes têm privilégios
diferentes Um usuário e um administrador
são muito diferentes. Você também precisa
pensar na criptografia de dados. Você pode usar o HTPS para criptografar
dados em trânsito e considerar a criptografia de dados
em repouso para dados armazenados Em seguida, é fundamental que
você faça a validação da entrada. Você deve proteger
suas APIs de ataques
comuns, como
injeção de scull e
scripts entre sites , validando
e higienizando as informações que seus usuários estão fornecendo à A limitação de taxa é outra técnica
muito comum que evita o abuso
ou o uso excessivo de sua API, que pode levar à exaustão de
recursos
e à interrupção e Você cria um limite de chamadas que seus clientes
podem fazer para sua API. Por fim, registro e monitoramento. Ao desenvolver sua API, você deve manter
registros detalhados e monitorar tráfego
da API em busca de
padrões incomuns ou incidentes de segurança Ferramentas como o SEE M, que vem de sistemas de gerenciamento de eventos
e informações de
segurança sistemas de gerenciamento de eventos
e são inestimáveis para esse propósito A terceira coisa que você precisa ter em mente
ao falar sobre segurança de
API é chamada de melhores práticas de
autenticação de API. A autenticação é
a base da segurança da API e aqui estão
algumas das melhores práticas Você deve usar APIs para autenticar clientes que
acessam sua API e garantir que eles sejam armazenados
com segurança Periodicamente, você
deve implementar
para que a autenticação e a
autorização
do usuário sejam seguras e padronizadas . 0 é amplamente adotada e fornece
vários tipos de concessão para diferentes casos de uso Também tenho um tutorial sobre
isso aqui que explica exatamente como esse
fluxo de autorização e autenticação está funcionando. E, finalmente, os JWTs, que vêm dos tokens Json Se sua API emitir tokens para
autenticação, use-os. Eles são compactos,
independentes e podem transmitir as
reivindicações dos usuários com segurança Ao falar sobre a
segurança de uma API, você também deve
pensar em autorização
e controle de acesso. Depois que um usuário é autenticado, você precisa controlar o
que ele pode fazer na sua API Você pode implementar o controle de acesso baseado em qualquer
função. Atribua funções a usuários ou sistemas e defina permissões
com base nessas funções. Revise e
atualize regularmente as permissões. Como falamos anteriormente, um administrador e o usuário são muito diferentes no que
podem fazer em um aplicativo. Ou você pode usar, como
eu disse, escopos. Os escopos são usados para
ajustar o controle de acesso
em sua API Limite o acesso a
recursos ou ações específicas com base no consentimento do usuário
e no escopo do cliente. Assim, cada cliente obtém um escopo
e, com base nesse escopo, os privilégios
dele são calculados Ao falar sobre criptografia de
dados, podemos primeiro falar sobre o HTTPS, a segurança da camada de transporte. Você deve sempre usá-lo para
criptografar dados em trânsito. Tls garante que os dados
trocados entre o cliente e sua API
estejam protegidos e não possam
ser Confiança de dados, você deve considerar criptografar dados confidenciais
armazenados em seu servidor.
Portanto, não apenas no tráfego quando os dados estão sendo transmitidos
nas solicitações, você também deve mantê-los
armazenados se forem confidenciais, como senhas ou detalhes de cartões
em seus servidores criptografados, basta usar a
criptografia padrão do setor que você pode encontrar facilmente
ao pesquisar no Google Ao falar sobre validação
de entrada, você deve primeiro limpar a entrada do usuário, o que
significa que você nunca deve
confiar na entrada do usuário significa que você nunca deve
confiar Você deve fazer isso para evitar ataques
comuns, como injeções de
Cl E outra coisa que
você pode fazer quando
se trata de validação de entrada
é usar os gateways de API Implementá-los pode filtrar limpar as
solicitações recebidas antes que elas cheguem aos endpoints da API ou ao banco de
dados para recuperar informações ou alterar implementação de limites de taxa
define uma barreira que é muito importante para evitar ataques de abuso ou
negação de serviço Considere limites
comerciais diferentes para diferentes tipos de
clientes ou usuários. Finalmente, registro e monitoramento. Mantenha registros detalhados
da atividade da API, incluindo eventos de autenticação
e autorização. E retenha os registros por um período apropriado para
auxiliar nas investigações e implementar
monitoramento e alertas em tempo real para
detectar e responder adequadamente aos incidentes
de segurança A segurança da API não é
um esforço único, mas um
processo contínuo que requer vigilância e adaptação
às ameaças em evolução Como você sabe, a
base de texto está se desenvolvendo rapidamente e
precisamos acompanhá-la entendendo os componentes essenciais da segurança da API e
seguindo as melhores práticas Você pode proteger seus
ativos digitais ou bancos de dados, preservar a reputação da sua
organização e garantir a conformidade
com os regulamentos. Lembre-se de que a segurança é uma responsabilidade compartilhada
e todas as partes interessadas em sua organização
devem ser educadas e cientes de seu papel na
manutenção da segurança da API Com as estratégias
e ferramentas certas, você pode
navegar com confiança pelo mundo dos aplicativos orientados por
API e, ao mesmo tempo manter seus dados
e sistemas seguros Eu realmente espero que esta palestra
ajude você a fazer isso. Muito obrigado por ficar comigo até o final, e espero
ver você no futuro
17. Serviços web: Tudo giz. E bem-vindo
de volta a este curso de API. Nesta palestra,
examinaremos serviços da web porque eles são o princípio fundamental dos sistemas
interconectados modernos, permitindo que aplicativos e componentes
de
software se comuniquem e troquem dados sem problemas
pela Eles revolucionaram
a forma como criamos, integramos e ampliamos o software, abrindo caminho para um mundo de interconectados Nesta lição, exploraremos os principais aspectos dos serviços da Web, seus tipos, protocolos
e seu papel no software
moderno em sua essência. Um serviço web é um
sistema de software projetado para suportar a interoperável interação
interoperável entre
máquinas
em uma rede Ele permite que
os aplicativos se comuniquem e compartilhem dados, independentemente de
suas plataformas, linguagens de
programação
ou sistemas operacionais subjacentes . Essa interoperabilidade é uma característica
fundamental dos serviços da Web e os
diferencia dos aplicativos
monolíticos tradicionais Os serviços da Web podem ser amplamente categorizados em
três tipos principais Primeiro, temos os serviços
Soap Web. Este é um protocolo
para troca informações
estruturadas
na implementação
de serviços web Ele depende do XML como formato
de mensagem e geralmente usa HTTP ou SMTP
como protocolo de transporte Os serviços web Soap são conhecidos por seus padrões rígidos e forte suporte à
segurança e confiabilidade. No entanto, hoje em dia eles se tornaram obsoletos, pois as pessoas tendem a
preferir os serviços web Rest que usam Jason como Rest é um estilo arquitetônico projeta aplicativos de rede. Os serviços web RESTful
aderem a um conjunto de restrições,
incluindo apatridia, arquitetura
cliente-servidor e interface uniforme. Eles usam
métodos HTPP padrão, como get, put, post e delete, para realizar
operações em recursos Isso os torna leves
e muito fáceis de implementar. Por fim, temos serviços web Json
e XML. Esses são protocolos de
chamada de procedimento remoto que usam Json e XML como formato
de mensagem Eles fornecem uma maneira simples de
invocar métodos em servidores
remotos, tornando-os adequados para
vários aplicativos Especialmente quando simplicidade e eficiência são essenciais. Agora, para permitir a comunicação entre serviços da Web
e clientes, vários protocolos importantes
entram em ação. o primeiro protocolo
que entra em jogo, Eu tenho um curso inteiro sobre o primeiro protocolo
que entra em jogo, e nós o mencionamos até mesmo
aqui em várias palestras E é o protocolo de
transferência de hipertexto. O HTTP é a base
da comunicação na web. Naturalmente, os serviços da Web
geralmente dependem
do HTTP como protocolo de transferência
para enviar e receber dados entre
clientes e servidores. Ele fornece uma forma padronizada de fazer solicitações e
lidar com respostas Também temos o protocolo
Soap que emprega XML para formatação de
mensagens e geralmente depende ainda mais de
HTTP ou SMTP Ele inclui um conjunto de regras para transações
de segurança
e confiabilidade de mensagens. Também temos descanso aqui, o que é muito mais importante. O resto vem da transferência representacional
do estado. Os serviços web que são RESTful usam métodos HTTP para interagir com recursos
identificados por URIs Eles adotam os princípios
da apatridia, o que significa que cada solicitação
é independente uma da outra e não
depende de um Eles também têm como aspectos principais uma interface uniforme e uma arquitetura
em camadas Por fim, temos Jason
e XML, que são formatos de dados
comuns para estruturar mensagens
trocadas entre serviços
da web e clientes Eles são legíveis por humanos
e analisáveis por máquina, oferecendo flexibilidade
na Quando se trata do papel dos serviços
web atualmente
no software moderno, eles se tornaram a espinha dorsal
absoluta do ecossistema moderno,
facilitando a integração, a
extensibilidade
e a escalabilidade na arquitetura de microsserviços e a escalabilidade Pequenos serviços
implantáveis de forma independente se comunicam por meio de serviços
da web Essa abordagem permite agilidade, escalabilidade e
fácil manutenção Os aplicativos móveis geralmente dependem de serviços
da Web para acessar recursos de
back-end , incluindo dados do
usuário de bancos de dados, arquivos de
mídia e informações
em tempo real. dispositivos e sensores da Internet das Coisas se comunicam entre
serviços em nuvem e serviços da Web,
permitindo a coleta e o
controle de dados a partir de locais remotos. Por fim, as plataformas de comércio eletrônico usam serviços
da web para facilitar as transações
on-line, incluindo gateways de pagamento, gerenciamento de
inventário
e remessa Embora esses serviços da Web
ofereçam inúmeras vantagens, eles também apresentam alguns
desafios. Primeiro, você deve garantir a
segurança dos serviços da web, incluindo autenticação
e criptografia de dados. Isso é muito
importante para
evitar acessos não autorizados e violações de dados A otimização do desempenho
dos serviços web
também inclui
tempos de resposta e escalabilidade É essencial para fornecer uma experiência de usuário responsiva, lidar com alterações e
atualizações nos serviços da web A API, embora mantenha
uma compatibilidade com versões anteriores é um equilíbrio delicado e é
aí que entra o
controle de versões. Por fim, uma documentação abrangente e
atualizada é
essencial para ajudar
os usuários a entender como usar os
serviços da Web de forma eficaz Em resumo, os serviços web
transformaram a forma como criamos e
interagimos com o software. Eles fornecem uma abordagem flexível
e padronizada para integrar
aplicativos e Ao entender
esses diferentes tipos de serviços da Web sobre os quais
falamos, seus protocolos subjacentes e o papel na arquitetura de
software moderna, você pode aproveitar essa tecnologia
poderosa para criar sistemas interconectados, eficientes e escaláveis Com tudo isso dito, agradeço muito a vocês
por permanecerem comigo até
o final desta palestra, e espero
ver vocês na próxima
18. Como depurar um pedido: Olá pessoal, e bem-vindos de
volta a este curso. Nesta palestra, discutiremos
a solução de
problemas e a depuração Porque, na minha opinião, pelo
menos como desenvolvedor, é muito importante
entender como
solucionar problemas e depurar solicitações
HTTP Essa habilidade é essencial para garantir que os
aplicativos da Web funcionem sem problemas, diagnosticando e corrigindo problemas e oferecendo uma experiência de usuário perfeita As solicitações HTTP estão no centro
de cada interação na web, seja carregando uma página da web, enviando um formulário, obtendo
dados de uma API ou até mesmo transmitindo
conteúdo multimídia Tudo começa com
uma solicitação HTTP. No entanto, essas solicitações nem sempre
estão isentas de erros. Vários fatores
podem levar a problemas , como
configurações incorretas do servidor, problemas de
rede, bugs no site
do cliente ou conflito entre componentes
diferentes E é exatamente
aqui que
entra esta palestra : entender
primeiro os problemas comuns
que podem surgir nas solicitações
HTTP é a primeira etapa, ineficaz Aqui temos coisas
como erros de servidor, porque os servidores podem encontrar
vários erros, como 44, que é o código para não encontrado, 500 para erro interno do servidor ou 53, que é
serviço indisponível Esses erros podem resultar de servidores
mal configurados
ou problemas com aplicativos Também temos erros do
lado do cliente. Clientes como navegadores da Web também
podem gerar esses erros, como 400 por solicitação inválida
ou 43 por solicitação proibida. Isso geralmente ocorre devido a problemas com a
solicitação ou as permissões do cliente. Problemas de rede são
outro fator que pode interromper a comunicação
entre o cliente e o servidor Isso inclui problemas como
DNS, falhas de resolução, conexões
lentas ou até mesmo interrupções
completas na rede Violações de
compartilhamento de recursos de origem cruzada também
podem bloquear solicitações
para um domínio diferente. Se não for configurado corretamente, isso pode causar problemas de segurança
e funcionalidade. Por fim, temos erros de SSL
e TLS. Essas duas camadas de
segurança podem causar erros. Eles podem ocorrer quando as conexões
HTTP não são estabelecidas
adequadamente. Esses erros podem interromper a transferência
segura de dados. Agora, a parte mais importante
da lição, depuração Esse pode ser um processo
sistemático para identificar e resolver
problemas de forma eficaz. Aqui estão as etapas a seguir. Primeiro, verifique as ferramentas do
desenvolvedor do navegador. A maioria dos navegadores da Web modernos oferece ferramentas para
desenvolvedores que
permitem inspecionar solicitações de rede Você pode visualizar solicitações
e cabeçalhos de resposta, cargas e mensagens de erro Isso acontecerá no Google
Chrome, por exemplo, se você pressionar o controle
F 12 ou a função F 12 se estiver em um Mac
e depois acessar a rede. Em seguida, você deve revisar
os códigos de status HTTP. Esses códigos na
resposta fornecem informações
valiosas sobre
o resultado da solicitação. Familiarize-se
com os códigos de status comuns para identificar o problema rapidamente Você também pode inspecionar cabeçalhos de solicitação
e resposta. Preste muita atenção aos cabeçalhos de
solicitação e resposta. Eles podem revelar
detalhes importantes sobre o problema, como tokens de
autenticação ausentes, tipos de conteúdo
incorretos
ou problemas no curso. Em seguida, você pode examinar os dados da carga útil se a solicitação
envolver transferência de dados Inspecione as
anomalias ou problemas da carga útil. Formatos de dados incompatíveis, dados
corrompidos ou parâmetros ausentes
podem causar problemas Você também deve verificar os registros
do servidor. Os registros do servidor podem
oferecer informações sobre o que está acontecendo
no servidor. Eles podem revelar erros, problemas de
desempenho ou,
novamente, configurações incorretas Em seguida, você pode verificar a conectividade
da rede Certifique-se de que sua conexão de
rede
na máquina da qual você está enviando solicitações esteja estável. Às vezes, problemas intermitentes
de conectividade podem levar a falhas na solicitação Por fim, você pode usar ferramentas de depuração
on-line. Várias
ferramentas on-line estão disponíveis para testar e
depurar Essas ferramentas podem ajudar a
simular solicitações, verificar cabeçalhos e
validar respostas Aqui, algo digno de
menção é que, se você estiver desenvolvendo o
aplicativo web em o erro HTTP está acontecendo, você pode pressionar novamente a
função F 12 para acessar as ferramentas de desenvolvedor do navegador
e, em seguida, pressionar
o comando P e procurar P e procurar o script em
que acha que o erro está acontecendo, colocar um ponto de interrupção lá
e continuar com
a depuração, e continuar com
a depuração o que você pode fazer
atualizando a página Quando se trata de ferramentas de
depuração comuns, há várias que podem ajudar na depuração Primeiro, temos,
é claro, Postman. Essa popular ferramenta de teste de API permite enviar e
receber solicitações HTTP, inspecionar cabeçalhos
e visualizar respostas Em seguida, temos Curl. A ferramenta de linha de comando é
excelente para enviar solicitações
HTTP e visualizar
respostas em um terminal. Também temos o Hitler, que é um proxy de
depuração da web que registra e inspeciona o tráfego HTTP e HTTPS
entre o computador que está instalado Por fim, temos o Wireshark, que é um
analisador de protocolo de rede e pode ajudá-lo a solucionar problemas no nível da rede que é um
analisador de protocolo de rede e pode ajudá-lo a
solucionar problemas no nível da rede
que afetam as solicitações HTTP. Quando se trata de
solução de problemas e depuração, a colaboração
eficaz
com sua equipe é vital para resolver problemas complexos Mantenha uma documentação completa
de suas descobertas, incluindo mensagens de erro,
registros e etapas de depuração Compartilhe essas informações
com colegas que possam ajudar a diagnosticar
e resolver o problema Concluindo,
solucionar problemas e depurar solicitações
HTTP é uma
habilidade fundamental para desenvolvedores da Web, pois o HTTP é o
protocolo fundamental das Ser capaz de
identificar e resolver problemas de forma rápida e
eficaz é essencial para fornecer aplicativos web
confiáveis e uma experiência de usuário perfeita Usando ferramentas de desenvolvedor,
examinando códigos de status, inspecionando cabeçalhos e cargas, verificando os registros do servidor e
utilizando ferramentas de depuração Desenvolvedores como você
podem diagnosticar e corrigir problemas de solicitação
HTTP enquanto mantêm seus aplicativos
funcionando sem problemas Com tudo isso dito, agradeço muito a vocês por ficarem comigo até
o final desta palestra Espero que isso tenha lhe dado uma
vantagem na solução de problemas e na depuração de solicitações HTTP que surgirão
no Eu era Gs e estou
ansioso para ver
você na próxima.
19. Códigos de status HTTP: Olá pessoal, e bem-vindos
de volta ao discurso. Nesta palestra,
vamos dar uma olhada nos códigos de status HTTP,
também chamados de códigos de retorno Essa é uma
parte fundamental da comunicação na web. A razão pela qual esses códigos de
dados são tão importantes é porque
eles são emitidos por um servidor em resposta à solicitação de um
cliente feita a esse servidor específico e são as
informações mais relevantes
e curtas sobre
o andamento da solicitação. O primeiro dígito do código de
status especifica uma das cinco
classes padrão de respostas As frases de mensagem
mostradas são típicas, mas qualquer
alternativa legível por humanos pode ser fornecida Como eu estava dizendo, os
códigos de retorno HTTP têm três dígitos. Se esses três dígitos
começarem com um, o status que você está
recebendo é informativo, o que
significa que a
solicitação foi Se começar com dois, significa
que a solicitação
foi uma operação bem-sucedida, ou
seja, foi
recebida, compreendida
e aceita com sucesso . Com três, isso significa que
um redirecionamento, como em outras ações, precisa ser realizado
para concluir a solicitação Se começar com quatro, significa que sua solicitação
teve um erro do cliente. Algo deu errado no lado do
cliente e a solicitação contém uma sintaxe incorreta ou
simplesmente não pode ser atendida Por fim, se seu código de três dígitos começar com o dígito cinco, isso significa que sua solicitação
teve um Algo deu errado
no lado do servidor, por exemplo, o servidor pode não
atender a uma solicitação aparentemente
válida. Agora, vamos
examinar as diferentes
categorias de respostas e listar alguns
exemplos para cada uma delas. Para
respostas informativas, temos o código 100 com a
palavra-chave continue Isso significa que o servidor
recebeu os cabeçalhos da solicitação e o cliente deve
continuar enviando o corpo da solicitação Esse código é usado em
situações em que o servidor precisa confirmar que está disposto a
aceitar a solicitação. Por exemplo, um usuário pode enviar um arquivo grande para ser carregado em
um serviço de compartilhamento de arquivos. Pense em transferir, o servidor responde com 100 contínuos para indicar
que está pronto para receber esse arquivo grande
e o usuário pode
prosseguir com o upload real em respostas informativas Também temos 11 com as
palavras-chave de protocolos de comutação. O servidor está indicando
aqui uma mudança no protocolo, como a mudança
de HTTP para um soquete web O cliente deve seguir esse novo protocolo para comunicação
posterior. Para a próxima categoria, temos respostas bem-sucedidas, e aqui temos um código
muito conhecido, que é 200, seguido
pela palavra-chave ok. Esse é o código de sucesso mais
comum, indicando que a
solicitação foi bem-sucedida, o servidor
atendeu à solicitação e a resposta contém os dados
ou informações solicitados. Por exemplo, pense em um
usuário acessando uma postagem de blog e o servidor responde com um código de status de 2000 K entregando o conteúdo do
blog solicitado com sucesso Também temos 21,
o que significa criado. Esse código de status indica que a solicitação resultou na
criação de um novo recurso. Geralmente é usado com solicitações de
postagem ou venda. Você pode pensar em um usuário que envia um formulário de registro em
um site e o servidor
responde com 21 criados, esperançosamente para indicar que uma nova conta de usuário foi Além disso, nas mensagens de sucesso, temos 24 sem conteúdo enquanto o servidor
processou a solicitação com sucesso. Nesse caso, ele
não tem corpo de resposta para enviar de
volta ao cliente. Isso geralmente é usado
para solicitações de exclusão. Se um usuário excluir um comentário em
uma plataforma de mídia social e o servidor responder
com 24 sem conteúdo, ele confirma a remoção sem retornar nenhum dado redundante adicional Passando para as mensagens de
redirecionamento, temos 31 com as palavras-chave
movidas permanentemente O recurso solicitado foi movido permanentemente para um novo URL. O cliente deve atualizar seus favoritos ou
links adequadamente Você pode pensar em um site de
comércio eletrônico que muda sua estrutura de URL e o usuário
tenta acessar um site antigo. Página do produto. O servidor
responde com 31 movidos, redirecionando
permanentemente o usuário para a nova URL do Também temos aqui o
código de 34 não modificado. Esse status é usado para indicar que a versão em
cache do recurso
do cliente ainda é válida e não
há necessidade de
baixá-la novamente. Se um usuário acessa um
site dos EUA frequentemente visitado, o servidor, reconhecendo que o cache do
navegador do usuário está atualizado, responde com esses três
ou quatro não modificados, indicando que a versão em
cache
ainda é válida e que nenhum dado
novo Para respostas de erro do cliente, temos 400, o que
é uma solicitação incorreta. O servidor não conseguiu entender a solicitação aqui devido
à sintaxe inválida, falta de parâmetros ou talvez a
outros problemas no site do cliente Pense em um usuário que
envia uma consulta de pesquisa com parâmetros inválidos
em um site de reservas de viagens
e o servidor
responde com
400 solicitações incorretas, e o servidor
responde com indicando que
a solicitação Além disso, temos 41
para pessoas não autorizadas. A solicitação requer autenticação
do usuário. O cliente que
envia essa solicitação deve fornecer credenciais
válidas, por exemplo, um nome de usuário
e senha ou um token Tudo isso para
acessar o recurso. Por exemplo, se um usuário
tentar acessar um documento particular em um serviço de armazenamento em nuvem
sem a autenticação adequada, o servidor
naturalmente
responderá com 41 solicitações
não autorizadas, solicitando o usuário forneça credenciais de registro
válidas antes receber toda a resposta Por fim, temos 43 proibidos. O servidor entendeu
a solicitação , mas se recusa a atendê-la. A solicitação do cliente é válida, mas o servidor decidiu
não servir o recurso. Se um usuário tentar acessar uma seção exclusiva para administradores
de um aplicativo web e o servidor responder
com 43 proibidos, isso indica que o
usuário não tem as permissões necessárias
para essa ação Você pode ver que 41 não autorizados são recebidos
quando você não fornece nenhuma credencial e 43 proibidos são recebidos quando
você fornece credenciais, mas eles não têm as permissões
necessárias Também temos 44 não encontrados aqui. O recurso solicitado
não foi encontrado no servidor. Isso indica que o URL é inválido ou que o
recurso não existe mais Se um usuário clicar em um link
quebrado que levou a uma página de produto excluída em
um site de comércio eletrônico, o servidor responderá
com 44 não encontrado, a
fim de notificar o usuário de que o recurso solicitado
não existe mais Para respostas de erro do servidor, temos 500, que
significa Erro interno do servidor. Essa é uma
mensagem de erro genérica e indica que uma
condição inesperada impediu o servidor de
atender à solicitação É uma pegadinha para erros
do lado do servidor. Pense aqui em um usuário que tenta enviar um
pedido em uma loja virtual, mas devido a um
problema inesperado no servidor, essa solicitação resulta em um erro interno
500 do servidor. O usuário é aconselhado
a tentar novamente mais tarde. Além disso, temos 52
para gateway inválido. Esse código de status indica que um servidor atuando como gateway ou proxy recebeu
uma resposta
inválida de um servidor upstream, geralmente indica problemas de rede Você pode pensar em um usuário
que acessa um servidor web ou uma API que atua como
gateway ou outro serviço O servidor gateway
encontra um problema
ao encaminhar a solicitação
para o servidor upstream, resultando em uma resposta de gateway de 52 leitos Obviamente, há muito
mais códigos
de retorno do que os que eu enumerei, mas caso você encontre um
que não esteja mencionado aqui, você pode pesquisar no Google e
entenderá exatamente o que
aconteceu com Quando se trata da
distinção entre métodos HTTP
seguros e não seguros, isso não está diretamente relacionado
ao código de status HTTP Métodos seguros,
como pegar e entregar, são projetados para não ter um
impacto significativo nos recursos. Eles geralmente estão
associados a respostas
bem-sucedidas ou
informativas Embora métodos inseguros,
como colocar ou publicar, possam ter uma variedade de respostas dependendo da situação
específica, incluindo sucesso, erros do cliente
e do servidor Como conclusão desta lição, códigos de retorno
HTTP são essenciais para entender os
resultados das solicitações HTTP. Eles fornecem informações sobre
o sucesso, o redirecionamento, erros
do cliente e
até mesmo os erros do servidor associados a uma determinada solicitação Esses códigos são uma parte
fundamental do desenvolvimento e
solução de problemas
da Web, ajudando desenvolvedores como você e usuários a diagnosticar problemas e interpretar os resultados de
suas interações
com os serviços da suas interações
com Com tudo isso dito, agradeço a vocês
por permanecerem
comigo até o final
desta palestra e espero
ver vocês na próxima
20. Métodos de solicitação HTTP: Olá pessoal e bem-vindos de
volta a este curso. Nesta palestra,
examinaremos um conceito muito importante, que são os métodos HTTP Eles geralmente são chamados
de verbos HTTP. E eles são a base
da comunicação entre clientes e servidores
na web mundial, eles definem as ações que
o cliente pode solicitar
de um servidor, desde a recuperação de dados
até a modificação Nesta lição, exploraremos os vários métodos HTTP,
eles são exemplos práticos, seu papel na comunicação na web sua classificação
como seguros ou inseguros E o principal
conceito fundamental da potência do item. Para começar, vamos primeiro
entrar na sigla CRM. Ela representa as quatro operações
fundamentais para gerenciar dados em um banco de dados
ou sistema de armazenamento de dados. É comumente usado no
contexto de APIs, bancos e
desenvolvimento de software para descrever as ações básicas que
podem ser executadas nos dados Cada letra na sigla corresponde a uma operação
específica C é para criar. A operação de criação
envolve a adição de novos dados, registros ou recursos a um
banco de dados ou armazenamento de dados. É a ação de
inserir uma nova
informação ou uma nova entidade
no contexto de uma API, o que normalmente
significa enviar uma solicitação para criar
um novo recurso Nossa carta é para leitura
nesta operação em comprimidos recuperam ou acessam dados
de um banco de dados ou armazenamento de dados Essa operação
não modifica a data. É tudo uma questão de buscar e
revisar as informações existentes
. Em APIs Essa aspirina
corresponde ao envio de uma solicitação para recuperar
dados de U significa atualização. Isso envolve a modificação de dados
existentes em um banco de dados. É a ação de fazer
alterações em um registro existente, como atualizá-lo, atributos ou
conteúdo. Em uma API. atualização normalmente
exige o envio de uma solicitação para modificar um recurso. D significa exclusão. E essa operação é
a ação de remover registros ou recursos
de
dados de um banco de dados ou armazenamento de dados. Isso resulta na remoção
permanente das informações especificadas. No contexto das APIs, isso corresponde ao envio uma solicitação para remover um recurso As operações do CRPD são fundamentais no gerenciamento
e manipulação de dados Elas servem como
base para criar e interagir com
bancos de dados, serviços da Web e aplicativos
que precisam realizar
essas
tarefas essenciais ao projetar APIs ou trabalhar com bancos As operações de
CRPD são
um conceito crucial para desenvolvedores como Q, pois fornecem uma maneira
padronizada de
gerenciar dados Falamos primeiro sobre as operações do
CRPD, pois elas se entrelaçam com os verbos HTTP das
postagens de Create,
get from Reed, put from
Update and Delete, como Vamos voltar agora
aos métodos HTTP. Em primeiro lugar, ainda é usado para
recuperar os dados de um recurso que
provavelmente está identificado por um parâmetro de ID ou uma lista geral que contém todos os elementos
desse recurso Algumas observações sobre as solicitações GET indicam que elas podem ser
armazenadas em
cache e marcadas como favoritos Eles permanecem no
histórico do navegador e
nunca devem ser usados ao lidar
com dados confidenciais. Além disso, eles têm
algumas restrições em relação ao comprimento e a essa
saída. Ao defini-los, eles são usados apenas para
recuperar dados e não modificá-los em
nenhuma forma ou formato Imagine que você está
usando um navegador para acessar um site de
notícias on-line. Quando você clica em
um artigo de notícias, seu navegador envia
uma solicitação GET
ao servidor do site solicitando
o conteúdo do artigo. O servidor responde
enviando de volta o artigo
solicitado, permitindo que o cliente o leia Em seguida, o método post
HTTP
saúda o novo recurso e o envia para ser processado pelo servidor Não é seguro e pode ter efeitos colaterais no
servidor ou no recurso Agora
, quando se trata de
métodos de postagem, as observações são que, como getMethod,
eles não podem ser armazenados em cache, marcados
ou mesmo interferir métodos de postagem, as observações são que, como getMethod, eles não podem ser armazenados em cache, marcados no histórico do
navegador E também não têm
restrições quanto ao comprimento. Além disso, o botão Voltar, se pressionado na solicitação de postagem,
reenviará os dados Ao contrário de uma solicitação GET, em que não prejudicará
um cenário da vida real aqui, imagine que você está usando
um aplicativo de mídia social e decide
criar uma nova postagem. Quando você cria o botão de publicação
real, o aplicativo envia uma
solicitação de postagem ao servidor, incluindo a mídia anexada de texto e
imagem. Os processos do servidor que você
solicitará salvam a postagem Visível para seus seguidores. Em seguida, temos o método HTTP, mas essas atualizações são recursos
especificados, o que significa que ele substitui todas as três apresentações
atuais recurso
de destino pela carga útil da solicitação A principal diferença
quando se trata dos métodos post e PUT são os resultados obtidos ao repeti-los
repetidamente. Embora o método put
sempre produza o mesmo resultado ao atualizar um recurso repetidamente, o método post terá efeitos
colaterais se tentar
dobrar a mesma
entidade em um sistema. Imagine que você tem um
blog pessoal e percebe um erro de digitação em um de seus artigos
publicados, usa um sistema de
gerenciamento de conteúdo e faz correções no conteúdo do artigo ao salvar as alterações feitas pelo CM,
envia uma solicitação para
atualizar o artigo no servidor garantindo que
a versão corrigida agora envia uma solicitação para
atualizar o artigo no servidor garantindo que
a seja exibida Em seguida, temos esse
método que solicita a remoção de um recurso
na URL especificada. Ele deve excluir o
recurso, se ele existir. Digamos que você tenha um
aplicativo de e-mail aberto, como o Gmail e queira bagunçar sua caixa de entrada removendo
um Quando você seleciona
esse e-mail específico e clica em excluir,
o aplicativo envia uma solicitação
ao servidor de e-mail que remove o
e-mail da sua caixa de entrada Quanto ao
método HTTP, batch girls, ele é usado para aplicar
modificações parciais em um recurso. Geralmente é usado quando
você deseja atualizar somente um subconjunto da data
dos recursos Imagine que você está usando um aplicativo de gerenciamento de tarefas
para acompanhar seu trabalho. Você percebe que sua data
ou uma tarefa mudou. Assim, você abre o aplicativo e atualiza apenas a data de vencimento sem
alterar nenhuma outra tarefa VPLS O aplicativo enviará uma solicitação
em lote ao servidor, que modifica somente a data de
vencimento da tarefa seguir, encontramos uma lacuna semelhante a uma lacuna, mas requer apenas os cabeçalhos do recurso sem
os dados reais, ela é usada para verificar se os
recursos resultaram nos dados ou existência sem transferir todo
o conteúdo real Isso poderia ser usado, por exemplo, se você estivesse navegando um site de compras,
quisesse comprar um produto meu. Antes de ver os detalhes
do produto, você clica no botão verificar
disponibilidade. O site envia uma
solicitação ao servidor solicitando dados
como disponibilidade do produto, preço e
informações de estoque sem carregar a página inteira do produto e todos os detalhes
correspondentes. Por fim, temos o método
HTTP de opções. Esse método recupera
informações sobre as opções de comunicação
disponíveis para um recurso Ele permite que um cliente
descubra quais métodos
HTTP são
suportados pelo servidor. Se você estiver criando um
aplicativo da Web e precisar
determinar quais ações são
suportadas por um serviço da Web
, esse método HTTP
é crucial para você. O aplicativo envia
uma solicitação de opções ao serviço
perguntando quais métodos estão disponíveis para um recurso
específico. Isso ajuda seu
aplicativo a se adaptar
aos recursos dos serviços e saber que tipo de solicitações
ele pode enviar a ele. Esses eram todos os métodos HTTP, mas são conceitos mais importantes
a serem entendidos aqui. A seguir, vamos ver como
podemos classificar um método HTTP. Quando se trata
desses verbos HTTP, eles podem ser amplamente
categorizados em. Em primeiro lugar, os métodos seguros são dos, métodos
HTTP projetados para
não ter impacto significativo
nos recursos que visam. Em outras palavras, quando um método
seguro é usado, ele não deve causar
alterações ou efeitos
colaterais no servidor em
relação ao próprio recurso. E os seguintes métodos HTTP
são considerados seguros. Get it não deve alterar
o estado do recurso ou da API do servidor apenas
para recuperação de dados Além disso, ele recupera metadados sem transferir todo
o conteúdo,
tornando-o novamente seguro Também temos métodos
HTTP inseguros. Em contraste, esses métodos ou
HTTP podem potencialmente levar a mudanças
no estado do
recurso ou do servidor. Eles não são seguros
no sentido de que
podem ter efeitos colaterais, como criação,
modificação ou exclusão de recursos Os métodos HTTP a seguir
são considerados inseguros. Não é considerado seguro
porque geralmente leva
à criação de um novo recurso ou à modificação
de um existente , modifica
ou cria recursos diretamente
e, portanto,
não é um método seguro Excluir, isso leva
à remoção do recurso
especificado, tornando-o inerentemente inseguro Por fim, o batch, embora
seja mais direcionado do que post ou put, ele ainda pode alterar os dados dos
recursos, tornando-o um método inseguro Vamos entrar agora
no termo muito importante da potência do item No contexto dos métodos HTTP, potência
do item se refere à
propriedade de uma operação Estamos realizando a
mesma ação várias vezes com o mesmo efeito
de executá-la uma vez. Isso significa que, se você enviar uma solicitação potente de item
várias vezes, esse estado do sistema e o recurso
com
o qual ele interage devem permanecer inalterados
após a Vamos dar uma
olhada em alguns exemplos de métodos HTTP potentes de itens
que usam o método get É um item potente quando você recupera informações
com uma solicitação GET Fazer a mesma solicitação
repetidamente não deve alterar o estado do servidor ou
do recurso
que você está buscando O método put
também é potente para itens Se você usar os dois para atualizar um
recurso com determinados dados, enviar a mesma
solicitação, mas várias vezes,
resultará no recurso contendo os mesmos
dados todas as vezes Por fim, temos as folhas. Aqui. É um método
potente de itens porque se você solicitar a exclusão
de um recurso usando o lead, enviar as solicitações
repetidamente não mudará o fato de o recurso ter
sido Em contraste com os
métodos potentes do item, os não iônicos, tanto nos métodos quanto nos, têm resultados
diferentes quando repetidos Por exemplo, o método post é conhecido como
potente para itens e solicitações repetidas de
publicação para
criar um recurso podem levar à criação de
vários recursos idênticos Cada solicitação resulta na adição de um
novo recurso. Normalmente, a solicitação de patch também
não é potente para o item. repetição de uma solicitação de patch pode atualizar um
recurso diferente a cada vez se as alterações forem incrementais ou dependerem do
estado atual do Vamos ver agora por que a potência
do item é importante. Em primeiro lugar, métodos
potentes de itens contribuem para a resiliência do sistema Em cenários em que problemas de
rede, tempos limite
ou falhas de comunicação por
item, ou falhas de comunicação por operações potentes
podem ser
repetidas com segurança sem causar efeitos
colaterais
indesejados A potência do item também está intimamente
relacionada ao armazenamento em cache. Quando respondem a uma solicitação potente de um
item, essas solicitações de
subsequência em cache podem ser atendidas com dinheiro, reduzindo a carga no servidor e
melhorando o desempenho Em
resumo, métodos potentes de itens, comportamento previsível, desenvolvedores e usuários podem confiar no fato de que a repetição de
uma solicitação não
resultará em resultados diferentes ou mudanças
inesperadas no estado
do sistema Por fim, a potência do item
simplifica o tratamento de erros. Quando uma solicitação falha ou é
interrompida, tentamos ela introduz inconsistências
ou Em geral, ao projetar APIs,
é essencial escolher os métodos HTTP
apropriados para diferentes operações
e documentar potente de
seus itens Isso ajuda clientes e desenvolvedores
como você a entender como solicitações devem ser
tratadas e o que
esperar quando
interagem com a API Sem isso, eu realmente espero que alguns dos conceitos apresentados
nesta palestra ajudem você no
futuro e
espero vê-lo
nas próximas palestras
21. Parâmetros de consulta de cabeçalhos: Olá pessoal, e bem-vindo de
volta ao discurso sobre APIs. Nesta palestra,
daremos uma olhada cabeçalhos e parâmetros da
consulta Exploraremos
o papel fundamental que eles têm nas solicitações de API, como são usadas e as melhores práticas para
aproveitá-las de forma eficaz. Começando pelo que são, os cabeçalhos
HTTP são dados correspondentes incluídos nas
solicitações e respostas da API Eles transmitem informações
sobre a solicitação,
como o tipo de conteúdo, as credenciais de
autenticação ou o idioma preferido Os parâmetros
de consulta, por outro lado, são pares de valores-chave adicionados
ao final do caminho de um URL, separados por pontos de
interrogação e e comercial Eles fornecem informações
adicionais à API sobre a solicitação, normalmente para fins de filtragem,
classificação ou paginação Passando para os cabeçalhos
Nas solicitações de API, eles desempenham
um papel muito importante por vários motivos Em primeiro lugar, temos autorização
de autenticação. Os cabeçalhos geralmente contêm tokens ou credenciais necessários
para autenticar o cliente com a API Como um
exemplo concreto, aqui você pode pensar no O do protocolo de
segurança. O token do portador que você
usa lá para se autenticar será
armazenado em um cabeçalho do token Em seguida, temos a
negociação de conteúdo. Os
cabeçalhos de aceitação e tipo de conteúdo permitem que os clientes especifiquem o formato de dados
que podem aceitar ou enviar, como cabeçalhos Json ou X
ML, como e comportamento de
cache de controle Eg , para
melhorar o desempenho As APIs podem usar cabeçalhos como limite de taxa
X
e limite de taxa X restante para impor limites
de taxa às Temos uma
palestra inteira dedicada
à limitação de taxa em
APIs neste curso, você também pode conferir
isso. Seguindo em frente. Cabeçalhos como aceitar
idioma
especificam o idioma preferido conteúdo da
resposta que você
obterá da API Quando se trata de
parâmetros de consulta em solicitações de API, eles fornecem opções valiosas de
personalização para solicitações de API.
Temos APIs de filtragem que geralmente permitem que os clientes filtrem dados
especificando parâmetros de consulta,
como sinal de pergunta, palavra-chave
filter equals
para especificando parâmetros de consulta,
como sinal de pergunta, palavra-chave
filter equals Os clientes também podem classificar as respostas
da API usando parâmetros de
consulta, como classificação de
sinal de interrogação igual a campo ou ordem de sinal de interrogação igual
a crescente Parâmetros de consulta, como ponto de
interrogação, página e ponto de interrogação
por página, permitem o acesso
paginado
a grandes As APIs podem oferecer suporte à pesquisa de
texto completo sem parâmetros de
consulta, como perguntas
Q iguais ao termo de pesquisa. Quando falamos sobre as
melhores práticas para cabeçalhos e parâmetros de
consulta, temos algumas A primeira coisa que eu
sugiro que você faça é sempre proteger a autenticação,
os cabeçalhos e as credenciais Use
tokens de autenticação, tempos de vida curtos e práticas seguras de
armazenamento de tokens Mantenha a consistência
no uso de cabeçalhos e nomes de parâmetros de
consulta em sua API, endpoints
e documentação Valide e limpe
a entrada do usuário, especialmente quando os parâmetros de consulta estão envolvidos Vulnerabilidades como a
eSqul Injection fornecem documentação
clara e abrangente sobre cabeçalhos
e parâmetros de consulta suportados, incluindo seu uso,
tipos de dados e Se a limitação de taxa for aplicada, comunique os limites de taxa e as cotas
restantes usando cabeçalhos de
resposta Considere o controle de versão da sua API para garantir a
compatibilidade com versões anteriores e usar cabeçalhos específicos da versão ou parâmetros de consulta quando necessário Novamente, aqui temos
uma palestra
completa sobre versionamento de
APIs, então você pode dar uma olhada Além disso, cabeçalhos e parâmetros de
consulta
são os alicerces das solicitações de API permitindo que os clientes se
comuniquem de forma eficaz com APIs enquanto
personalizam suas interações Compreender sua
função, seu uso adequado e as melhores práticas é essencial
para desenvolvedores que buscam aproveitar todo o potencial das APIs em seus aplicativos Obrigado, Chris,
por ficar
comigo até o final
desta palestra Eu realmente espero que você tenha conseguido
algo com isso. E
nos vemos na próxima.
22. Especificação OpenAPI: Olá pessoal, bem-vindos de volta a este
tutorial de especificação de API aberta, onde entendemos como podemos
documentar melhor nossas APIs Rest da web Nesta palestra, falaremos sobre o que exatamente é uma especificação de
API aberta Essa
especificação de API aberta foi chamada especificação
Swagger
antes de ser,
é um
formato de descrição de API para APIs restantes É
igualmente adequado para projetar
novas APIs antes de implementá-las e
também para documentar suas APIs
existentes para que os usuários possam entender
mais facilmente como
podem fazer chamadas para recuperar recursos e dados em geral API aberta permite que você
descreva toda a sua API, incluindo os endpoints
disponíveis, as operações nos formatos de
solicitação e resposta que você pode receber suporte, métodos de
autenticação, contextos de
suporte
e outras informações e A especificação da API aberta
passou por várias versões
desde o lançamento original A
plataforma on-line do Sweater hub que
usaremos neste tutorial atualmente suporta
as três versões da Open API, que
é a mais recente,
mas também suporta
as duas versões
em um mas também suporta
as duas versões nível mais concreto, falando agora, esse arquivo Open API que
vamos criar
na linguagem Yamo, veremos isso
em apenas um Ele permite que você descreva toda a
sua API, incluindo
os endpoints disponíveis Por exemplo, aqui temos usuários e operações
em cada ponto final. Então, esses são os métodos
HTTP sobre os quais
falamos
na última palestra. Por exemplo, nos usuários
finais, podemos ter documentado um método get que
obteria a lista de usuários e o método post
que criaria um novo usuário. Também permite descrever os parâmetros de
operação, entrada e saída
para cada operação. Por exemplo, se você quiser obter as informações sobre
um usuário específico, você pode fornecer a ele um parâmetro, inserir como um ID, e ele recuperará as informações sobre
esse usuário específico Também permite documentar os métodos
de
autenticação dessa API,
caso existam Também permite documentar as informações de
contato e os termos de uso da
licença. Como veremos quando
começarmos a
plataforma on-line, sweerhup, veremos exatamente
a sintaxe cada parte da
documentação que
podemos escrever sobre
nossa Essas especificações de API sobre
as quais falamos podem ser escritas nas linguagens
Yamo ou Jason Esse formato é fácil de aprender e legível tanto para
humanos quanto para máquinas Falaremos sobre essas
duas coisas nas
próximas palestras. Obrigado por ficar
comigo até o final
deste tutorial e estou
ansioso para ver
vocês no próximo
23. Visão geral do SwaggerHub: Olá pessoal e bem-vindos de volta a este tutorial de
especificação de API aberta. Nesta seção, veremos como
podemos usar
a ferramenta Swagger Hub e aqueles que
entendem o que ela é Mais especificamente.
Nesta palestra, discutiremos a definição
da ferramenta
Swagger hop e uma visão geral dessa plataforma
on-line começando com a
definição dela Swagger Hub é uma plataforma
que está disponível on-line e ajuda você a
desenvolver sua própria API, seja ela pública para seu uso pessoal ou interna e privada
para sua empresa Ele faz isso ajudando a desenvolver sua API,
documentando-a em detalhes O princípio em que o Swagger
Hub se baseia fortemente é o princípio do design, primeiro código depois, como você
verá em breve Com o Swagger Hub, você
começa
pensando em como
será a aparência da sua API Além disso,
definindo seus recursos, operações e modelos de dados. Somente quando todo o
design da sua API estiver concluído e você tiver uma estrutura
clara para ela, você poderá iniciar a implementação
real da lógica de negócios dela. Agora, as definições
dessa API que você escreve são salvas na
nuvem e
também podem ser sincronizadas com sistemas de controle de versão
externos,
como Github O que torna muito mais fácil colaborar com sua
equipe e também manter mais versões
quando ela ganha força
e começa a evoluir Como você pode ver aqui, eu tenho a página do Swagger Swagger Hub
aberta no meu navegador Chrome apenas para dar uma
olhada rápida em segundo plano enquanto
eu explico para vocês para que essa ferramenta é As ferramentas Swagger Hub integram
as ferramentas Swagger para
torná-las mais conhecidas e comumente usadas torná-las mais Ele suporta o código
En do editor de interface do usuário e também os dados válidos em sua plataforma
colaborativa on-line que
examinaremos em alguns instantes A sintaxe para descrever essas APIs na ferramenta
Swagger Hoop é a API Swagger Open.
Como você provavelmente esperava, sendo o
formato padrão das definições de API, usaremos Y L para escrever a estrutura de
sua API no discurso essas APIs na ferramenta
Swagger Hoop é
a API Swagger Open.
Como você provavelmente esperava,
sendo o
formato padrão das definições de API,
usaremos Y L para
escrever a estrutura de
sua API no discurso em geral. É o idioma escolhido para escrever nessa arrogância
. No entanto, você pode
colar no editor o texto
Json, se
é
com isso que você se sente mais confortável e ele sabe como
analisá-lo e reconhecê-lo Mas depois de salvar o
trabalho realizado, o Json que você escreveu também será convertido em YAML. Agora, é claro, a plataforma
swagger hop que estou apresentando a você
neste tutorial está
disponível on-line e também pode ser
usada gratuitamente por 14 dias Agora vamos dar uma
visão geral da plataforma. Como você pode ver aqui, estou na casa
do meu aplicativo Swegerhup. No meu navegador, você primeiro nota o painel lateral na parte esquerda da tela. E começa com
a página my hub que lista todas as APIs às quais você tem acesso. Eles podem ser criados por
você mesmo ou por aqueles em que você foi convidado a
colaborar por outras pessoas Por enquanto, tenho apenas uma loja própria que criei usando
os animais de estimação em um modelo. Portanto, é algo bem
básico que vamos dar uma olhada em um momento. Você também pode pesquisar
uma API no painel lateral do hub swagger do hub swagger usando essa
opção de Essa é uma maneira de você
ver muitas
APIs públicas excelentes desenvolvidas pelos usuários do
Swagger Hub e isso o ajudará muito, especialmente se
você está apenas
começando a documentar
sua Você pode se inspirar na estrutura da API
deles ou simplesmente dar uma olhada rápida em algumas
das sintaxes que eles usam Agora, ao clicar em uma API
aleatória a partir daqui, vou
selecionar essa aleatória, você notará. Que você obterá
esta página com uma visualização dividida. Na parte esquerda,
você verá
o código Y AML da definição de API
aberta Na parte direita,
a documentação gerada em um belo estilo
de referência. É claro que você pode redimensionar esses painéis a partir desta barra
lateral aqui Outra observação aqui
seria que o Swegerhb permite testar essas chamadas de API
diretamente no navegador Mas vou mudar para o modelo de petição
para que cada um seja mais representativo
do que eu queria mostrar a vocês Aqui temos um
modelo de pet shop, por exemplo. Podemos usar a
operação get para obter um usuário. Depois de clicar em Testar, você pode pesquisar um nome de usuário
que precisa ser buscado Ele também redireciona você para o
usuário um para teste. Se escrevermos um para o usuário aqui
e clicarmos em Executar, obteremos as respostas. A resposta do servidor
tinha um código de 200, o que é bom, o que significa que nossa solicitação acabou bem. E este é o corpo da
resposta que obviamente tem o
ID do usuário, o nome de usuário que é uma string, um nome que é uma string, sobrenome que é
uma string, e-mail, senha, telefone e dados do usuário. Obviamente, essas são strings
codificadas, mas no caso de
realmente fazer uma solicitação do Postman para sua
API e realmente ter em seu
banco de dados usuários reais, você verá
valores específicos
para esses usuários aqui Além disso, também
temos alguns cabeçalhos de resposta. A duração da solicitação,
quanto tempo
demorou até nossa resposta
do servidor. Além disso, você detalhou
aqui as respostas que você pode obter com a
descrição do código e os links. Em primeiro lugar, temos
o código 200, que é a operação bem-sucedida
, como descrição. E também fornece um exemplo do valor
que você
receberá se a solicitação que você
fez for bem-sucedida e
a resposta obtida for valiosa. Mas você também pode fornecer outro usuário que não esteja
disponível no banco de dados. Nesse caso, você terminará com um código de erro de quatro, quatro ou
400. Além disso, o painel de navegação no lado esquerdo tem
a função de mostrar a lista de operações e modelos de dados que estão disponíveis
nessa API aberta. Além disso, ao clicar neles, você
será automaticamente
direcionado para essa parte do script YAML. Por exemplo, se clicarmos
no método HTTP que
acabei de descrever anteriormente, você verá que ele nos levou
automaticamente à parte
do código Amo em que está descrito
para que seja exibido de forma bonita
nessa visualização de estilo de referência Agora, alguns outros botões
disponíveis aqui
seriam os do lado
esquerdo da tela O que disponibiliza para
você ocultar a navegação, que é esse painel
de
navegação esquerdo acabei de falar. Esconda o editor, que é obviamente a navegação
e também o código Amel E você também pode ocultar a interface do usuário, que é o documento de
estilo de referência na parte direita da tela. Subindo um pouco, teremos uma informação rápida sobre nossa
descrição da Open API aqui, onde temos alguns detalhes,
algumas integrações e o proprietário criado por less safe e outros
detalhes bonitos como esses Obviamente, você pode
abrir sua API, renomeá-la ou
compará-la e mesclá-la Não vamos
entrar nisso agora, mas vamos entrar
na versão dele. Se clicarmos nesse botão para baixo, você verá que tem algumas opções aqui que estão
disponíveis para sua API. Você pode tornar sua API privada, o que devo dizer
que você só pode fazer se
tiver o plano premium
vinculado à sua conta. Depois, você pode publicar sua API, que é um botão muito
importante. Depois de escrever
sua especificação de API, você
poderá excluir
essa versão. Além disso, você pode adicionar uma nova
versão caso sua API esteja envolvida e você
queira desenvolver uma versão totalmente
nova para ela. Agora você pode ver
a documentação aqui em outra página. que basicamente pega
o documento de estilo de referência e o mostra em uma página inteira para você ver de uma
forma mais descontraída. Além disso, você pode
clicar nas opções da API
onde você pode editar
seu push do Github e também redefinir as alterações Você pode desativar as
notificações,
compartilhar e colaborar
nessa API Por fim, há
o botão Exportar, que apresenta
diferentes métodos baixar sua API, seja no Yama ou no Jason,
alguma documentação, o stub do servidor
e também o e também Na próxima palestra,
examinaremos mais de perto
uma API aberta e seu código
Y AML correspondente para aprender como podemos criar uma documentação para sua própria API
usando essa Obrigado por ficarem
comigo até o final desta palestra, e eu realmente espero ver vocês na próxima
24. Informação, servidor e tags: Olá pessoal, bem-vindos de volta a este
tutorial aberto de especificação de API, onde
falamos sobre a plataforma online Swagger
Hub que você pode usar para documentar
sua API em detalhes Nesta palestra,
discutiremos os servidores de informações e as partes de
texto do nosso
Yamoscript que usadas para criar a documentação
do Swagger para do Swagger Como afirmei na palestra
anterior, essa
parte preta esquerda é o editor Escrevemos o script Yaml
que é usado para renderizar a interface de referência em que a API e seus
endpoints estão incluídos Cada definição de API,
como você pode ver, começa com a versão
aberta da API, que no caso da API , ou seja, o
modelo padrão de pet shop que eles fornecem na plataforma
para você
começar e ter uma boa
ideia dos recursos que eles podem oferecer com a
plataforma é três. É assim que o script GM começa ao escrever uma especificação de
API aberta A próxima seção
se chama info e contém os dados do método
sobre sua API Esse metodado contém
informações sobre a API,
título, descrição,
versão e assim por diante Essa seção de informações
também pode conter
informações de contato , nome
da licença, URL e outros detalhes. Como você pode ver no nosso caso, ele tem a descrição de, esta é uma simples loja de animais, um simples servidor de pet shop. E você pode descobrir
mais sobre swagger, que podemos ver que é renderizado logo abaixo
do título Então, a versão da nossa
API é bastante óbvia. Esse é um dado que é renderizado nesta caixa
cinza aqui Então temos o título, The Swagger Pet Store, e depois alguns Termos de Serviço, que estão aqui E eles também especificam o link para
redirecionar para algum contato, que é o contato
dos desenvolvedores aqui mesmo, que é um e-mail E então, algumas informações sobre a licença e o
URL para o Apache
fazer isso são bastante
autoexplicativas para a primeira parte da documentação
da API Em seguida, como você pode ver, precisamos definir o endereço do servidor da
API e a URL base para as
chamadas de API que faremos adicionalmente. Essa seção do servidor
também pode ter uma descrição. Agora, suponha que nossa API esteja localizada em
https://mypiample.com Em seguida, ele pode ser descrito
como a tag do servidor, depois o URL, como você
pode ver na linha 19, e o caminho que
acabei de dizer de forma mais concreta No caso deste modelo de loja de animais de
estimação, você pode ver que
a descrição é a API
do hub Swagger E então ele te dá o URL, que é o Swagger
Hub.com, meu nome, loja de
roupas, loja de
roupas E você pode ver que também
pode selecionar este como seu servidor principal e ele também
está disponível aqui. A próxima seção, logo
antes de entrarmos no caminho um, é a seção Te. O que isso faz é basicamente
atribuir uma lista de tags a cada operação de API
que você tem em sua estrutura. As operações técnicas podem ser tratadas forma diferente por ferramentas
e bibliotecas No nosso caso, o Swagger UI
usa esses textos que você fornece para agrupar as
operações exibidas dessa Ter um design mais elegante
e organizado para seus endpoints
Opcionalmente, aqui, você também pode especificar uma tecnologia de documentação
externa para cada uma de suas tags
usando a
seção de texto global no nível raiz, que está
aqui na Os nomes técnicos aqui devem corresponder aos usados em todas
as suas operações. É assim que o
Swaggerhub é capaz de mapear cada método HTTP para sua tecnologia correspondente
e mostrá-los Como você pode ver na
tela aqui, temos o agrupamento de animais de estimação,
o agrupamento de lojas
e o agrupamento de usuários As operações são, na verdade, como veremos
na próxima aula, os métodos HTTP
que são feitos em cada
uma dessas
operações específicas. Por exemplo, dispostos aqui, você
pode ver que ele tem a seção de tags do
caminho e sabe que a operação de postagem do caminho estará no grupo pat Agora, a ordem das tags
na seção de texto global também controla a
classificação padrão no SwegerUI Como você pode ver, pet
é a primeira tag, store é a segunda e o usuário é a última nota
aqui de que é possível
usar uma tag em uma operação mesmo que ela não esteja
definida no nível raiz. E também aparecerá
muito bem, como você pode ver aqui. Mais concretamente, em nosso exemplo, no nível raiz do texto, temos o primeiro que
é animal de estimação E a descrição,
tudo sobre seus animais de estimação que é mostrado
ao lado do título da tag. Além disso, você tem essa descrição que é mostrada na parte
direita da tag. Isso é descobrir mais. E você também pode fornecer
o URL que é mostrado aqui. Foi sobre isso com
a primeira palestra
da ferramenta Swegerhub sobre servidores de
informações Na próxima palestra, discutiremos caminhos e operações
que estão sendo
feitos nesse script
Yama que , além disso exibidos na renderização da interface de usuário
da documentação da API
Seger Obrigado por continuarem
comigo até o final deste tutorial, e eu realmente espero
ver vocês no próximo
25. Caminhos e suas operações: Olá pessoal, bem-vindos de volta a esta
especificação de API aberta do Trio, onde aprendemos mais sobre
a plataforma Swegerharb e como podemos
documentar melhor nossas APIs Nesta palestra, discutiremos caminhos e operações na plataforma
Swegerharp Mais especificamente, a
sintaxe deles
no documento Yama
para que sejam renderizados Como você pode ver na
parte direita da tela aqui,
em termos de API aberta, em termos de API aberta caminhos são os recursos
também conhecidos como endpoints que uma determinada
interface de programação de aplicativos expõe Isso pode ser, por exemplo, uma
barra de informações de usuário ou ID As operações são
os métodos HTTP
disponibilizados dentro de seus caminhos que são usados para
manipular esses caminhos, como get, post ou delete Para cada caminho específico, podemos articular métodos HTTP
ou, como o nome deles está aqui, operações que estão
disponíveis para esse caminho Por exemplo, aqui
temos a palavra-chave paths e,
em seguida, temos o path path. E então temos
várias operações. Por exemplo, os caminhos e
operações da API put e
post são definidos
na seção de caminho global da
sua especificação de API. No caso desse
script aqui, está na linha 34. Todos os caminhos que
encontramos aqui são relativos à URL do servidor da API. O URL completo da solicitação tem a
sintaxe do URL do servidor. E então, o caminho que
você vê aqui, os servidores
globais sobre os quais
falamos na última palestra, também pode ser substituído
tanto no nível do caminho quanto no nível da
operação Os caminhos podem ter um resumo
opcional mais curto e uma descrição mais longa
para fins de documentação. Esses campos estão novamente
disponíveis no documento Yama, especificamente para cada um deles. Como você pode ver aqui
no caminho da tag, temos o resumo, adicione o novo caminho à loja. Além disso, temos a descrição
da resposta, 45 entradas inválidas Essas informações
aqui devem
ser relevantes para todas as
operações nesse caminho A descrição pode ter várias linhas
, pois pode ser mais longa
e suporta a marcação de uma e suporta a marcação de marca
comum para a representação do
texto Agora, no que diz respeito à modelagem, você pode usar colchetes para marcar partes de um URL como parâmetros de
caminho, mas também pode usar
a tag de parâmetros, como você pode ver Em seguida, basta especificar vários recursos sobre
esse parâmetro para cada um. Como eu disse antes, você
pode definir operações. Portanto, métodos HTTP que podem ser usados para acessar esse caminho e lê-lo, alterá-lo ou excluí-lo. Openapi three suporta
as opções get, post, put page, delete head
e trace. Um único caminho pode suportar
várias operações. Por exemplo, faça com que
os usuários obtenham uma lista de usuários e publique
usuários para adicionar um novo usuário. Uma coisa a se prestar atenção aqui seria que a API aberta define uma operação exclusiva como uma combinação de um caminho
e um método HTTP. Isso significa que dois métodos get
ou dois métodos post para o mesmo caminho não são permitidos, mesmo que tenham parâmetros
diferentes. Como os parâmetros não têm efeito aqui na característica de exclusividade. Cada operação
da sua API também oferece suporte a alguns elementos opcionais para fins de documentação. Assim como os caminhos, eles
têm um breve resumo e uma descrição mais longa
do que uma operação faz. A descrição pode ser multilinha e também suporta a marca
comum Eles também têm textos que são usados para agrupar
operações logicamente, recursos ou qualquer outro
qualificador, como você pode ver aqui Por exemplo, na linha 51,
temos a etiqueta pat. Além disso, o atributo de
documentos externos aqui é usado para referenciar um recurso
externo que contém documentação
adicional agora aberta Pi three suporta
os parâmetros de operação P por meio de caminho, cabeçalhos de sequência de caracteres de
consulta
e cookies Você também pode definir
o corpo da solicitação para operações que transmitem
Td ao servidor, como post, put e patch. Os parâmetros da sequência de caracteres de consulta
não devem ser incluídos nos caminhos. Eles devem ser definidos
como parâmetros quadrados. Em vez disso, com o atributo de
consulta que podemos ver aqui na linha 77. Para o parâmetro chamado status, temos o especificador de consulta Outra observação rápida
e bastante óbvia aqui seria que é
impossível ter vários caminhos que diferem
apenas na string de consulta. Como a API aberta considera
uma operação exclusiva, combinação de um caminho do método HTTP e parâmetros
adicionais não
torna a operação exclusiva. Outro atributo
para operações humanas aqui é o ID da operação, que é uma string
exclusiva opcional usada para identificar uma operação. Por exemplo, aqui
temos o ID de operação de um caminho aqui para o
método post do caminho do caminho. Se você decidir
fornecer esses IDs, preste atenção ao
fato de que eles devem ser exclusivos entre todas as operações
descritas em sua API. Alguns geradores de código usam esse valor de atributo para
nomear os
métodos correspondentes no código Você também pode marcar operações
específicas como obsoletas para
indicar que elas devem ser transações fora de uso com a sintaxe
de outro desses recursos que seria descontinuado e, em seguida, o valor
total de true, a matriz global de servidores
do início do script Amo sobre
a qual
falamos na última aula e que está presente
na como obsoletas para
indicar que elas
devem ser transações fora de
uso com a sintaxe
de outro
desses recursos que seria
descontinuado e, em seguida, o valor
total de true, a matriz global de servidores
do início do
script Amo sobre
a qual
falamos na última aula e que está presente
na linha
16, pode ser substituído
tanto no nível do caminho quanto no nível
da operação Isso é útil se
alguns endpoints usarem um servidor ou caminho base
diferente do resto da sua API Esse pode ser o caso
quando falamos sobre a operação de upload ou
download de arquivos,
ou talvez sobre um endpoint obsoleto, mas
ainda funcional Foi sobre isso
com a seção de caminhos e operações do nosso yamoscript do
swagger hub Obrigado pessoal por
ficarem comigo até o final deste tutorial Na próxima palestra, falaremos sobre esquemas. Estou realmente ansioso para
ver vocês lá.
26. Esquemas para modelos de dados: Ajude pessoal e bem-vindos de volta a este
tutorial aberto de especificação de API, onde entendemos como a plataforma
Swagger up E como podemos escrever
código Yama para escrever uma documentação melhor
para nossa API com arrogância Nesta palestra, falaremos sobre
esquemas e a seção de esquemas do seu script Como você pode ver aqui
no modelo de loja de animais de estimação
da documentação da API. Se você rolar até o final, temos tanto no
script Yama quanto na interface do usuário E esses
esquemas rápidos em C two que definem os modelos de dados que estão disponíveis no
back-end do nosso banco de E esses modelos de dados são
objetos que podem ser expostos e manipulados por meio dos
endpoints de nossa API que
documentamos aqui no open PI three e, portanto,
no swagger A seção
de esquema do script UR yao se refere aos
modelos de modelo de dados que estão disponíveis,
como eu disse, por meio dos endpoints Ur Os tipos de dados desses modelos são descritos usando
um objeto de esquema Agora, ao descrever
um objeto de esquema, você deve usar palavras-chave
e termos padrão das
alterações no esquema Começando com
os tipos de dados que estão disponíveis nos objetos
do esquema O tipo de dados do esquema é
definido pela palavra-chave type. A sintaxe aqui
seria, por exemplo, tipo
e, em seguida, string ou
qualquer tipo que seja Na API aberta, temos acesso
aos seguintes tipos básicos. Temos string, número, número inteiro,
matriz de ouro e objeto Por exemplo, aqui,
a entidade
do pedido tem a propriedade ID e o
tipo de dados inteiros É bem simples. Esses tipos existem na maioria das linguagens de
programação, embora possam não ter o
mesmo nome que vemos aqui. Usando esses tipos, você
pode descrever
praticamente qualquer estrutura de dados com a qual
possa lidar ao falar
sobre o campo de
um modelo de dados a partir
do banco de dados e do banco de dados. Ao lidar com números, existem os atributos
de mínimo e máximo que especificam o intervalo determinado campo
do modelo pode assumir. Além disso, o comprimento
da string pode ser restrito usando os atributos de comprimento médio e comprimento
máximo. Assim como o atributo type
here, você pode usar o
comprimento médio e o comprimento máximo. Isso deve limitar o
comprimento da tela. O mesmo é válido para
a linha Integra, caso você queira que os campos de seus
modelos sejam um
pouco restritos e queira
informar aos usuários
que ele o fará Além disso, quero
usar sua API e
ajudá-lo na documentação para
dizer que, por exemplo, ao obter um ID de pedido, o pedido deve estar em 1-11 porque essas são
as únicas entradas que você tem no banco de dados
para que ele evite o erro 44 Agora, um
tipo muito útil ao lidar com esquemas no Swagger Hub
são Você pode usar a palavra-chave para
especificar valores possíveis de um parâmetro de solicitação ou uma propriedade do modelo
que não sejam as enumerações
e os Essa API aberta é usada na plataforma
Swagger Hub Vamos definir
dicionários em que as chaves são cadeias de caracteres, caso você
não saiba que esse dicionário,
também conhecido como mapa, mapa de
hash ou matriz associativa, hash ou matriz associativa, é um conjunto Para definir um
dicionário para seu campo, você precisa usar o objeto de tipo, como você pode ver na linha 536, e a palavra-chave de
propriedades adicionais para especificar o tipo de valores
nos pares de valores-chave da palavra Junto com esses dicionários, Open API fornece várias
palavras-chave que você pode usar nos esquemas combinados
ao validar valor de
um parâmetro Aqui, teríamos um que valida o valor em relação exatamente um dos subesquemas. Tudo isso valida o valor relação a todos os
subesquemas e isso valida
o valor em relação qualquer um ou mais dos Falando mais concretamente
sobre nossos animais de estimação modelo de documentação da API
que temos aqui Você pode ver que os esquemas, então os objetos pelos quais podemos fazer operações brutas com
nossa API seriam o pedido,
o pedido do seu
animal de estimação, que tem um ID, que é um número inteiro, um ID do animal de estimação, uma quantidade, uma data de envio,
que é um dia, um status que é, hum, como eu já falei sobre
esse tipo antes, que pode ser colocado,
aprovado E aqui está a
sintaxe disso agora. Também podemos ter uma categoria. Também podemos ter um usuário
que faz o pedido. Também podemos ter uma etiqueta. Também podemos ter um animal de
estimação um esquema
de categorias dentro dele. Temos um nome,
URLs de fotos que podem pegar o usuário e dar a
ele uma foto
desse tapinha, caso ele
queira marcar esse campo Temos um texto que contém
o esquema técnico. E, por fim, temos a
resposta da API documentada aqui. Como eu disse, a sintaxe do Amo aqui
é bem simples. Temos os componentes, o nível
raiz em destaque e, em
seguida, os esquemas nele Você simplesmente escreve o nome
do seu esquema, por exemplo. Temos a ordem, depois
o tipo dela
e, em seguida, as
propriedades que são, como eu disse aqui, se você quiser dar uma olhada lado a
lado e talvez
mapeá-las com sua mente, você tem as propriedades
de ID, que é um número inteiro Tem um formato de 64. mesmo vale para a quantidade de identificação do animal de estimação ,
mas a quantidade
tem o formato 32. Agora temos a data de envio
que tem o formato de uma data e hora e é
do tipo string. Aqui, sugere-se
ao usuário da API que
seja diurno, mas na verdade é uma string. E também temos o
status desse tipo string, ele tem uma descrição, como você pode ver, o status do pedido
que está escrito aqui. Além disso, explica para
que esse campo é usado. Temos a implementação
do tipo de dados nele, que neste caso é o ano que pode receber
valores colocados, aprovados ou entregues Por fim, temos um lingote
que representa se o pedido foi concluído
ou não pela loja Também podemos, como você pode ver aqui, especificar que o valor padrão para o campo, neste caso, seja falso. Isso é muito parecido com os próximos esquemas
que temos aqui Esse foi o
último componente do nosso script Amo que precisaremos conhecer para escrevermos
um script Yam que se
traduza em uma especificação de
API
usando também a plataforma Swegerhop Obrigado pessoal por ficarem
comigo até o final deste tutorial Estou realmente ansioso para ver
vocês na próxima.
27. APIs REST.: Olá pessoal e bem-vindos de
volta a este tutorial. Nesta palestra, vamos analisar as
APIs de repouso, o que elas são, como elas funcionam e se
obviamente são úteis. E também
vamos entender
a diferença entre uma API
simples e a API restante. Então, começando quando se
fala sobre APIs restantes, a palavra restante vem da
Representational State Transfer, que é um estilo
arquitetônico de software que usa um subconjunto de HTTP. É comumente usado para criar aplicativos
interativos
que usam serviços da Web. serviço Web que segue essas diretrizes
é chamado RESTful. Esse serviço web deve fornecer seus recursos da Web em uma representação
textual e permitir que eles sejam vermelhos
e modificados com um protocolo sem estado e o conjunto predefinido
de operações. Essa abordagem permite a
interoperabilidade entre os sistemas de computador
na internet que
fornecem esses serviços. Neste tutorial,
vamos trabalhar as
APIs de descanso de semana com mais precisão
documentando-as em detalhes. Como esta é uma regra de
prática muito boa para nossa API seja clara e
muito bem estruturada. Obrigado pessoal por ficarem
comigo até o final desta palestra. E eu realmente estou ansioso
para ver vocês
no próximo onde
vamos
discutir os métodos de solicitação HTTP e os
códigos de retorno que estão disponíveis
ao lidar com APIs restantes.
28. APIs SOAP: Pessoal, bem-vindos de volta
a este tutorial. Nesta palestra,
vamos discutir APIs de sabão. Como já vimos algumas
coisas sobre APIs restantes. Npr também vai
fazer uma comparação em uma palestra posterior entre
esses tipos de APIs antes de morrer Vamos ver algumas
coisas específicas sobre APIs de sabão. O que eles são quando
são usados. Então você sabe qual API você pode escolher ao tentar
implementar uma das suas. Então, antes de tudo, soap representa uma ferramenta
que faz com que sistemas usando diferentes sistemas operacionais se comuniquem por meio de solicitações HTTP. O uso exclusivo de pacotes
XML de APIs baseadas em
dados é
feito para criar, recuperar, atualizar
e excluir registros. Basicamente, execute
operações brutas neles. Assim como as APIs restantes são. Poucos exemplos de modelos de dados
que podem ser manipulados. Pode ser usuário, alguns objetos gerais nas solicitações
da API soap. Em seguida, sendo usado com todas as linguagens que
suportam serviços da Web, como JavaScript ou Python, ou C Sharp para citar alguns. A principal vantagem
dessas APIs é a flexibilidade
que os desenvolvedores têm. Quando se trata da linguagem de
programação. Você pode escrevê-los. Sua concretização
é a criação de protocolos baseados na web, como HTTP, que já são compatíveis com todas as
linguagens e sistemas operacionais. Além disso, o S
no nome da célula Dove soap
APIs significa simples. O protocolo soap só fornece a base simples para implementações
complexas. O espaço é
composto por cinco partes. O envelope é a primeira parte, que é a tag que
especifica se um XML,
esta é uma resposta de sabão, como eu disse antes, a maneira como as APIs de sabão
estão se comunicando e a maneira como colocam suas
a informação é verdadeira. Arquivo Xml, que é um farm Extensible Markup
Language que tem suas próprias tags e é
usado para transferir dados. Teremos uma palestra completa sobre o tipo de arquivo mais tarde. Agora, também temos a
parte pesada de um protocolo soap, e este é
realmente opcional. Em seguida, temos o corpo, que é a parte mais
importante, é basicamente a maior parte
da mensagem de sabão. Portanto, ele contém a maior parte das informações enviadas. E também, por último,
temos o deck de falhas, que é o último componente
das APIs de sabão entrar neste deck de ambos é
colocado dentro da festa. O que ele morre
especifica mensagens de erro que podem aparecer dentro
dessa solicitação ou resposta. Agora, falando sobre mais
algumas vantagens quando se trata
do protocolo soap. Propriedades de neutralidade significa que funciona em uma ampla
variedade de protocolos, de HTTP a SMTP. E também outra propriedade
que constitui uma vantagem ao falar sobre APIs de
sabão com sua
extensibilidade. Então, obrigado por
ficarem comigo até o
final deste tutorial. Isso foi sobre a
apresentação de APIs de sabão. Estou ansioso para ver
vocês no próximo,
onde vamos dar uma olhada em
uma comparação entre APIs
do Sul, APIs restantes. Além disso, podemos entender qual deles é melhor escolher dependendo da nossa situação
atual e das nossas necessidades de implementação.
29. SOAP vs. REST: Olá pessoal e bem-vindos de
volta a este tutorial. Nesta palestra,
vamos analisar
a comparação em APIs restantes e APIs de
sabão para entender
qual delas seria melhor para nós se quisermos
começar a desenvolver nossa própria API. A principal diferença
entre as APIs restantes seria que o soap é um protocolo e o resto é um estilo
arquitetônico. Além disso, as APIs restantes
usam vários padrões, como HTTP, Jason,
URL, CSV e XML. Mesmo que o sinal de mudança seja
preferido, você pode usar o que você está
mais confortável. A API Soap é, por outro lado, baseia-se em grande parte no HTTP e somente XML para transferência de
dados. A partir dessas diferenças
entre eles. Há uma
desvantagem, obviamente, ao lidar com APIs de sabão pelo fato de as solicitações
estarem no mesmo XML. E dessa forma, eles são muito maiores do que nossa
resposta JSON por si só. Desta forma, o sabão acabará usando muito mais
largura de banda e depois descansará. O descanso é muito mais rápido e
eficiente a esse respeito. Agora, em geral, devemos
usar o resto quando não precisarmos um estado para ser mantido
entre as chamadas de API. Para dar um exemplo de contador aqui, você pode pensar em um site de
compras que precisa reter as informações
de que você foi comprado. Em outras palavras, ao
entrar na página, onde você paga por ela? Esse seria um caso em que a
autoAPI seria melhor do que uma API restante, porque
precisaria dessa data de menos carrinho para ser mantida
na página de pagamento. Agora se tornou padronizado e também foi incorporado
no tratamento de erros. APIs de descanso são muito mais
fáceis de usar, leves e flexíveis. E todos esses
motivos fazem com que ele tenha uma curva de aprendizado menor para novos desenvolvedores que estão apenas entrando na programação de API. As APIs restantes também têm padrões
fáceis de entender, como Swagger, especificação
OpenAPI. Esses padrões permitem
documentar por pouco que você era um cara. Dessa forma, tornando muito mais fácil a adoção
por novos programadores. Em conclusão, se você está
pensando escolher
o sabão ou descansar
para o seu projeto, eu diria que,
em última análise,
se resume ao serviço web
que você deseja implementar. Baseado em novos trabalhos oh, necessidades. Você tem
que decidir com qual deles ir. Além disso. Esses pontos sobre
a diferença entre APIs self e rest. Obrigado pessoal por continuarem
comigo neste tutorial. E estou ansioso para ver
vocês no próximo.
30. Json: Pessoal e bem-vindos de volta
a este tutorial. Nesta palestra, vamos
discutir arquivos de dados json, começando com o nome j
sine vem de JavaScript. Notação de objeto. Mds são linguagem independente de linguagem,
legível por humanos, usada por sua simplicidade. Nps também é mais
comumente usado em aplicativos
baseados na Web para trocar
dados entre partes. Agora, as extensões de sinal G, obviamente n ponto JSON. Jason é um
substituto fácil de usar para XML, ACTs mais leve
e fácil de ler. Além disso, sendo mais
leve, rápido, levamos a
mudança da tocha da superfície para os clientes pode acabar sendo
muito menor em tamanho. E é por isso que os EPs são a maneira
preferida de comunicar
dados na web mundial. Dessa perspectiva. Boas vantagens para o IG. Alguma linguagem gira em torno do fato de que é
fácil para os seres humanos
lerem e Dr. E D também é fácil para máquinas para
bares e JSR de janeiro. Agora, ao falar sobre a
estrutura de um arquivo g seno, ele me disse
toda a sua estrutura. A primeira parte tem uma coleção de pares de valores de nome em
vários idiomas. Isso é realizado como um objeto, registro, struct,
dicionário ou tabela de hash. Além disso, pode ser uma chave ou
uma matriz associativa. A segunda parte então delta
g sin five pode ter, é uma lista ordenada de valores. E você pode associar
isso na maioria dos idiomas. Trigo em uma lista vetorial de raios ou janela de
sequência que, ao trocar dados entre o
navegador e
o servidor, os dados só podem ser decks
e casten é texto. Dessa forma, podemos facilmente
converter qualquer objeto JavaScript em JSON e enviar esse JSON
para o servidor, o cliente. Agora, podemos trabalhar com os dados. São objetos JavaScript
sem análise
e traduções complicadas. Além disso, se você receber
dados em formato adjacente, é um cliente do servidor. Você pode convertê-lo facilmente
em um objeto JavaScript. Por isso, funciona muito bem ao
contrário também. Então, foi sobre
o qual os arquivos de dados JSON são usados em APIs para clientes
para obter informações. Obrigado pessoal por
ficarem comigo. 30 final deste tutorial e estou ansioso para
vê-lo no próximo.
31. XML: Olá pessoal e bem-vindos de
volta a este tutorial. Nesta palestra, vamos
discutir arquivos XML, STR, uma escolha popular ao
falar sobre a transmissão dados na Internet
de servidores para clientes. E Pi ao quadrado. Então, começando com o nome, XML vem da Extensible
Markup Language e desmarque qual deles define um conjunto de regras para codificar
documentos em um formato fácil de entender por
ambos os seres humanos
e máquinas. O design do XML, o que é muito acento na
simplicidade, generalidade, usar a construção em toda
a Internet é um formato textual com forte
suporte via código exclusivo. Embora o design do
XML se concentre em documentos, a linguagem é amplamente utilizada para a representação de estruturas de dados
arbitrárias, como as usadas
em serviços da web. Todas as características
o transformaram em um
dos idiomas mais usados
para trocar dados por solicitações
na internet. Você pode estar perguntando qual é
exatamente a facilidade em Mark em branco. Bem, markup são informações
adicionadas a um documento que melhora Seu corpo de
significado de certas maneiras, na medida em que identifica as partes e como elas se
relacionam entre si. Mais especificamente,
um cobertor Markov, que é um conjunto de símbolos que
podem ser colocados no texto do documento para demarcar e rotular as partes
desse documento. O Xml foi projetado para
ser autodescritivo. Também se assemelha muito ao
HTML. Se você olhar para a
resposta do XML, a diferença entre os dois. A linguagem XML não tem tags
predefinidas como o HTML faz H. Você viu se você está familiarizado com essa linguagem de marcação, detalhes, parágrafos que são cabeçalhos que são idade e, em seguida, um número de
quão grande eles são e assim por diante. Mas ainda assim, a
XAML não faz nada. É apenas uma maneira intuitiva, fácil e compreensível de colocar etiquetas de embalagem de
informações que nomeiam estatisticamente alguém no software
mais seco para enviar, receber, armazenar ou
exiba o estado. Isso é feito com o código real escrito dentro dos endpoints de uma eventual API para a qual você pode fazer solicitações para
recuperar os dados. Agora, existem duas características
principais da linguagem XML que diferenciam e a tornam útil em uma variedade
de situações. Epc extensível, como
o nome sugere, o que significa que permite que você crie seus próprios decks
dentro da batida. E esses decks são, claro, representativos para
o namoro fornecem como você os faz. Se você tiver um usuário
XML bem escrito entenderá, basta encontrar as
informações que ele obteve do XML que você enviou. Ele carrega os dados
independentemente
da forma como serão mostrados
por quem os recupera. De fato, o padrão social
tornou-se público e aberto. Em conclusão, a razão pela qual o próprio
XML bica e
popular hoje em dia, Ele é a maneira que torna
a abundância de sistemas com as
linguagens de programação Grunt e sistemas
operacionais
uniformes para um único, simples e fácil de entender linguagem de
marcação simples e fácil de entender que é
muito flexível em termos de tags e contendo
as informações que
ninguém é sobre
isso com os arquivos XML. Obrigado pessoal por
ficarem comigo. Até o final deste tutorial. Estou ansioso para ver
vocês no próximo.
32. XML vs. JSON: Olá, e seja bem-vindo de
volta a este tutorial. Nesta palestra, vamos
discutir diferentes Cs e também achamos que eles
têm em comum sobre linguagens
XML e JSON. Conversamos nas palestras
anteriores sobre cada um deles, cada um de seus locais
específicos, o que o JAR você pode contextar, eles podem ser usados. Mas agora, fazendo uma
comparação entre eles, talvez você possa decidir
facilmente
qual deles é melhor para você em
sua própria representação de API. Sbc, JSON e XML podem ser usados
para que você receba dados de um
servidor web ou
para que você envie o
cliente para um servidor web. Eles são basicamente apenas maneiras de colocar a data em
que é comunicada entre os web parties quando se
trata de coisas que
eles têm em comum. Ambos são muito estruturados de
forma hierárquica. Ou seja, é claro,
que eles têm essas tags no
caso de chaves XML e curly no caso de JSON que representam
valores dentro dos valores. Então eles são muito estruturados, ambos
também são legíveis por humanos, também conhecidos como autodescritivos. Também. Outra coisa que podemos
observar em ambos é que eles podem ser buscados
com uma solicitação HTTP, o que também
os torna úteis ao falar sobre APIs e
comunicação pela Internet. Eles também, é claro, podem ser analisados e usados por muitas linguagens
de programação. Mas aqui vem a diferença
média entre essas duas linguagens de
marcação. Isso é obviamente estar morto
para eczema tem que ser analisado, escrito analisador XML real. Embora o JSON possa ser analisado por uma função
JavaScript padrão, preciso disso analisado pela função JavaScript
padrão? Ele é analisado em um objeto JavaScript pronto
para usar. E como você pode
concluir a partir disso, essa é uma grande vantagem para o
JSON é que é muito mais fácil
transcrever para o código real quando você está trabalhando com ele e
está recebendo portão. eczema é muito mais difícil analisar o JSON nesse sentido. Agora, outras diferenças importantes entre esses dois podem ser que os objetos JSON
que são analisados com o JavaScript sempre
tenham algum tipo de tipos, seja se for uma string, uma matriz numérica de OR Booleano, se os dados XML são sem tipo e isso
deve ser string. Também o XML suporta
comentários, enquanto
o padrão G não suporta nenhum
tipo de comentário sobre você. Se você talvez ler
alguns arquivos JSON, você pensou que não havia
absolutamente nenhum comentário lá. Embora o JSON seja suportado pela
maioria dos navegadores hoje em dia, análise
XML entre navegadores pode ser complicada e você pode ter alguns problemas ao lidar
com os navegadores especiais. Eu pessoalmente nunca
encontrei isso, mas aparentemente é possível. E a última diferença que
temos aqui seria que o JSON é menos
seguro que um XML. E esse é provavelmente o ponto mais forte
que você olharia, é tentar escolher
XML em vez de adjacente. Mas, novamente, g
seno, é muito mais fácil de ser analisado. E também é a maneira ideal de
transmitir dados na web
ao chegar, especialmente para. Enquanto state é o motivo pelo qual o XML
também é usado com APIs de sabão. Personalidade Eu prefiro mais o JSON, mas dependendo do que
você está tentando criar, que tipo de API humana criar. Acho que é melhor
você escolher por si mesmo e para suas necessidades entre esses dois idiomas. Então, obrigado
por ficarem comigo até o final desta palestra. E eu realmente estou ansioso para ver vocês no próximo.
33. Como podemos chamar uma API: Olá pessoal e bem-vindos
de volta a este curso de API. Nesta seção, abordaremos o
aspecto mais prático das APIs. Ou seja, como você
pode realmente fazer solicitações para APIs específicas e obter informações delas na forma de algumas respostas, conforme declarado
em palestras anteriores Ao lidar com APIs,
é como lidar
com um site Por exemplo, quando
você entra no Facebook, você basicamente clica em um link. Quando você clica nesse link, o site é aberto. O que realmente acontece quando
você clica nele é que você faz uma solicitação aos servidores do
Facebook. O site que
você recebe diante de seus olhos é a resposta
que você recebe de volta. Agora é a mesma coisa quando
você chama um endpoint de API. O endpoint de um EPA
serve apenas como um link. Quando você liga, significa que
você faz uma solicitação para, é como
se você clicasse em um site. A resposta que você
recebe é
na forma de uma página da web ao
entrar no Facebook ou na forma de
uma resposta quando você faz uma solicitação ao endpoint de
uma API Mas é praticamente
a mesma coisa. Sem dizer isso, discutiremos
neste curso duas maneiras pelas quais você
pode realmente fazer solicitações dois endpoints de API diferentes Agora, o primeiro é através do curl e o segundo
é através do postma Esses são dois programas
que permitem, obviamente, fazer essas solicitações, da
mesma forma que você faria em um
navegador, digamos URL. Agora, o curl vem
instalado por padrão se você estiver usando um Mac OS ou se estiver usando
um Windows Ten Se você estiver usando
um Bunto ou uma janela anterior
à versão dez,
mas tiver o Git para Windows
instalado ou para um
Buntu instalado O curl já foi baixado novamente do Github
e você pode chamá-lo, como você verá, que eu
farei na próxima palestra Ao tentar fazer uma
solicitação para um site, novamente, você nem tem o Git em sua máquina e está usando o Windows anterior
a dez ou um pacote, pode usar o gerenciador de pacotes e
essa é
a maneira mais
simples de fazer Por exemplo, você pode baixar chocolate e depois executar
o Choco install curl Ou, novamente, outros
gerenciadores de pacotes também estão bem. Mas se você não quiser fazer
isso por meio de um gerenciador de pacotes, você também pode baixar o Curl na página inicial
do Curl Você pode ir para Curl that SE, depois há um
botão de download e você pode baixar o arquivo curl arquivado e
depois instalá-lo Nas próximas palestras, vamos pegar
uma API pública e fazer algumas solicitações com
Carl e Só para ver exatamente como podemos usar não apenas os verbos HTTP e
acessar os endpoints da API
e vê-los na prática, mas também todas as
noções sobre as
quais falamos teoricamente
até Se tudo isso parece
interessante para você, eu realmente espero
vê-lo nas próximas palestras Agradeço muito
por ficar
comigo até o final desta
34. Chamadas com onda: Olá pessoal e bem-vindos de
volta ao curso de API. Nesta palestra, faremos nossa primeira
solicitação de API usando Carl Eu tenho aqui na tela
o site da Nasa. E a Nasa está, na verdade fornecendo alguns endpoints de API
para diferentes desenvolvedores Você pode se perguntar: por que gostaria de
acessar os dados por meio de um endpoint de
uma API em vez de simplesmente inserir um link
em sua URL e ver essas informações
por si mesmo com imagens em um formato muito melhor,
então elas
apareceriam como a resposta de uma API, como
você verá em breve A resposta para isso é porque,
quando você usa uma API, geralmente a usa em seu
código para obter informações de outras partes que estão fornecendo
essas informações para você. E você não pode calculá-lo ou não deseja fazer isso. Você recupera essas
informações em seu código fazendo essas
solicitações que faremos somente com
Carl e Postman para mostrar a
vocês como elas são faremos somente com Carl e Postman para mostrar a
vocês como elas Mas, como eu disse, eles seriam feitos a partir do seu código e talvez você
ligasse o NSAPI para mostrar informações sobre o
primeiro pouso na lua E você recuperaria
essas informações da API e as
mostraria em
seu próprio site É para isso que servem as APIs. Agora, voltando
ao nosso tutorial, eu tenho aqui a API, NASA.gov. E se você inserir essa
URL em seu navegador, você será redirecionado
para esta página,
onde primeiro de tudo, você pode
ver que precisa de Se você rolar um pouco e
ver APIs diferentes, elas estão fornecendo endpoints
diferentes Por exemplo, o banco de dados
meteorológicos espaciais de notificações, conhecimentos
e informações. Aqui, por exemplo,
um ponto final é a ejeção de massa coronal Aqui você pode ver
que, como argumento, você precisa da chave
de API fornecida na seção após inserir o
primeiro sobrenome e também o e-mail. Se você estiver realmente trabalhando em um aplicativo ou site
que usará esse URL, melhor inseri-lo. Mas é opcional porque
algumas pessoas só podem fazer isso para entender as APIs ou apenas recuperar algumas
informações delas. Depois que eu mostrei
isso, vemos claramente algumas etapas para
fazer uma chamada de API. Em primeiro lugar,
precisamos fornecer aqui nome e o
sobrenome e depois o e-mail. Eu vou fazer isso muito rápido. Então, quando clicamos em inscrever-se, você pode ver que a chave
de API que nos é fornecida é essa. Podemos muito bem copiá-lo. Agora você vê que isso também nos leva adiante
com algumas instruções e nos diz que podemos
começar a usar essa chave para fazer solicitações diferentes
ao serviço da web. Precisamos simplesmente passar essa chave na URL ao
fazer uma solicitação na web. E eles até mesmo um simples
exemplo solicitam aqui. Agora, se copiarmos isso e
adicionarmos curl na frente dele, podemos fazer uma solicitação ao
endpoint da API da Nasa Como você pode ver, a parte é a foto astronômica
do dia, por exemplo Esse é um deles. Você pode ver que ele também pode
usar parâmetros diferentes, mas precisa da chave de API. Na verdade, copiamos
esse endpoint de
antes de ele ser fornecido por eles quando inserimos
nossas Então, agora vamos ver como podemos
realmente fazer a solicitação. Podemos ativar a
linha de comando que eu abri no modo
administrador, mas se você estiver no
MacOS ou no Bundle, poderá abrir seu terminal E depois disso, depois de
verificar se o curl está instalado, você pode
digitar curl. E depois. Certo, o endpoint da API, mas também arquivado pela sua chave Ao clicar em Enter, você pode ver que obtemos algumas informações em
nossa resposta aqui, e isso está no script do tipo
Json E você pode ver que isso nos
leva aos direitos autorais
da foto, que é esse cara chamado Nick, acho que se pronuncia, depois a data da foto,
quando foi tirada, e depois a explicação
da foto. Também podemos obter outras
coisas, como o título, o URL, que
podemos copiar daqui, e acho que isso
nos levará à imagem real. Você pode ver que esta é a
imagem astronômica da data Agora, essa é uma
maneira bem simples de acessar
o endpoint de uma API Como eu disse, assim como você fez esse
parâmetro de consulta da chave de API, você pode realmente digitar
outra pergunta, marcar a data e depois igualar Em seguida, escreva uma data específica a partir da qual você deseja recuperar a imagem astronômica
daquele dia ou uma matriz delas com a data
de início e a
data de término Então, é claro, o
EPIK, como eu disse. E também alguns outros
parâmetros de consulta, que você pode inserir sorrateiramente após conclusão
desse endpoint, após o Era sobre isso. Como eu disse, geralmente há algumas etapas extras quando você
está tentando usar uma API. Você pode adicionar alguns
tokens que precisam ser trocados com você e com o servidor para o qual você está
tentando fazer a solicitação Só para que
o servidor garanta que você esteja tentando acessar as
informações de seus direitos, assim como as chaves de API aqui. O processo de token é um pouco mais complicado e
não vamos entrar nisso aqui, mas eu tenho outro curso
que trata apenas do processo que lida com esses
tokens dentro das APIs. Era sobre como você
pode fazer uma solicitação simples com L em sua máquina pessoal. Mas na próxima palestra, também
veremos como você pode
fazer essa solicitação em fazer essa solicitação em um novo programa
chamado Postman E se você está se
perguntando, por que você quer fazer
isso, é porque esse
programa
mostrará mais detalhes sobre sua solicitação e mais
opções sobre ela. Como o verbo HTTP com o qual você
deseja chamar sua API. Todas as informações
serão formatadas com caixa de texto e serão
muito mais fáceis de ler por você E também muitas outras opções que veremos
na próxima palestra. Como eu disse, eu realmente
espero que vocês tenham tirado
algo útil
desta palestra. Espero que você esteja um passo mais
perto de chamar uma API
em seu próprio aplicativo web. Ou ainda mais perto de
entender exatamente
como você pode
manipular APIs, chamá-las e o que
elas realmente são Muito obrigado
por ficar
comigo até o final
desta palestra Estou realmente ansioso para ver
vocês na próxima.
35. Ligações com Postman: Olá pessoal e bem-vindos
de volta a este curso de API. Nesta palestra,
vamos dar uma
olhada em como exatamente podemos fazer solicitações para diferentes
ABIs públicas usando a ferramenta Primeiro de tudo, você
precisa baixar o Postman em sua máquina local
atual Para fazer isso, você pode
acessar seu navegador, digitar o nome do carteiro e clicar no sublink de download
da postagem do primeiro link Em seguida, você será redirecionado para esta página onde podemos fazer o download Esse executável
também pode ser baixado para
MacOS ou Linux Não importa qual sistema operacional você está usando atualmente, pois
ele funcionará para você. No entanto, agora você pode ver que o executável
foi baixado Podemos ir em frente e abri-lo, e você pode ver que ele vai
direto para a instalação. Agora ele vai abri-lo. Como você pode ver, assim mesmo, você tem a ferramenta em
sua máquina local, você pode criar uma conta. Mas vou pular
e ir direto para o aplicativo. Aqui você
já tem um espaço de trabalho aberto, mas para
facilitar o entendimento
nesta parte correta, você pode adicionar uma nova guia na qual
você cria uma solicitação E, como você pode ver, isso é muito mais orientado à
criação de solicitações, servidores e à recuperação de
suas respostas. Então, a instrução atual
do CLD era. Agora você pode inserir
a URL do último
tutorial aqui. Como farei em apenas um momento. O que vamos fazer aqui é inserir essa solicitação
e
usaremos o HTTP get conforme quisermos para recuperar recursos
do endpoint específico Se clicarmos em Enviar, você pode ver aqui que
na parte inferior
da solicitação da página está nossa resposta à
solicitação que acabamos de enviar. Você pode ver aqui, em primeiro lugar, a rede e depois o status com o qual nossa
resposta está chegando. É 200, o que significa que tudo bem, se você passar o mouse sobre ele,
também poderá ver exatamente de onde vem esse
status Se não for
um padrão e você talvez não o
tenha visto antes, você pode realmente ver
uma explicação sobre isso aqui. Então, podemos ver em
quanto tempo a resposta voltou e, em seguida, as
diferentes partes dela, se você estiver interessado
nessas coisas. E também o tamanho da
resposta que obtivemos aqui, é o corpo
que, é claro, pode ser cru e esse
é o que vimos em
nossa resposta atual no início da palestra anterior no CMD Também podemos ver uma prévia, podemos visualizar, mas o visualizador dessa solicitação não
está realmente
configurado no momento Mas, por padrão, está
na guia bonita que formata todo o texto neste arquivo JS E, como eu disse, você
pode ver que ele
também é analisado e destacado
em partes diferentes, o que é muito útil para
vermos detalhes diferentes de nossa solicitação Aqui você pode ver que temos parâmetros de consulta
diferentes
que ele, por padrão, ao analisar o
endpoint do qual
estamos fazendo
a solicitação está retirando Você pode ver que ele detectou nosso parâmetro APike e
também o valor dele aqui Claro, você pode adicionar
alguma descrição a ele. Também podemos adicionar
parâmetros diferentes a partir daqui, em vez de, na verdade digitá-los na solicitação E isso pode ajudar a gerenciar
o comprimento do endpoint, porque mesmo que o comprimento do endpoint
seja maior aqui, podemos realmente
cometer menos erros Como podemos ver, a chave
e o valor são melhores. Agora, na parte da autorização, podemos deixar como estava. Esta é uma API pública em. A chave IP que recuperamos do site está
diretamente no link Mas se
usássemos um sistema de segurança tokenizado
para acessar essa API, precisaríamos realmente
usar os dois tokens ou qualquer protocolo que eles estejam usando ao tentar fazer
uma solicitação real Então, aqui estão alguns cabeçalhos, o corpo e
coisas diferentes assim Aqui nas configurações, temos
diferentes configurações de métodos HTTP, mas isso não é tão importante. Esta é apenas uma prévia do que você pode fazer com o Postman e como criar uma
solicitação com essa ferramenta Você também pode criar outra solicitação
e também salvá-la E se você criar uma conta, todas essas solicitações
serão salvas para você, caso você precise
revisá-las novamente ou talvez
copiá-las para o aplicativo
atual em que está trabalhando. É sobre como você pode fazer a solicitação com
o serviço de carteiro Muito obrigado,
pessoal, por ficarem comigo até o
final do tutorial Eu realmente espero que você tenha conseguido
algo com isso. E se você tiver alguma
dúvida sobre o processo de criação da
solicitação de uma API, pode
deixá-la aqui neste curso. E farei o meu melhor para responder a você em tempo
hábil. Além disso, se você estiver interessado. Também tenho outro curso
sobre o processo O que a maioria das APIs está
usando atualmente e adiciona uma camada extra de segurança quando você está tentando fazer
uma solicitação a elas. Você também pode conferir isso. Mas, por enquanto, muito
obrigado. Como eu disse, estou
ansioso para ver os caras nas próximas
palestras e tutoriais