Confira nosso vídeo abaixo sobre Design de APIs:
Expor APIs tornou-se uma necessidade que supera a troca de informações entre máquinas.Estamos na Economia de APIs. Negócios são criados com base em software. E não apenas um software, mas integrações entre vários deles. Caso não esteja familiarizado com esses conceitos, o Blog é o lugar certo para cair de cabeça e descobrir mais sobre as entranhas dessa economia de APIs.Porém, se você começou a ler esse artigo, suponho que queira mesmo começar a fazer sua API, e queira ver exemplos, código e algumas dicas top sobre design e manutenção de APIs.Bom, você veio ao lugar certo. Vamos aprender a expor APIs na prática!No mundo do desenvolvimento de software, utilizar boas práticas é mais da metade do caminho para código mais limpos, com menos erros e maior facilidade de entendimento.E alguns materiais que podem te ajudar enquanto estuda os exemplos que darei nessa série de artigos podem ser os seguintes:
Se você deu uma olhadinha nos conteúdos acima, viu que eles falam mais de conceitos e exemplos práticos do que de implementação.Portanto, aqui vamos às vias de fato.Quero abordar a parte prática e transformar conceitos em uma API que funciona!Vamos começar falando da Documentação de uma API, usando o Swagger, um framework completo para APIs.Logo em seguida, faremos uma visita à várias linguagens de programação, mostrando semelhanças, diferenças, vantagens e desvantagens de cada uma, em implementações de APIs RESTful.Veja as propriedades da arquitetura REST:
(se não sabe exatamente o que é uma API RESTful, recomendo fortemente que assista ao Webinar de Design de APIs)Tendo um pouco de tudo isso em mente, podemos começar a pensar no Design da nossa API. Ela será uma API para um sistema de mudanças compartilhadas.Nossa lsita de decisões é a seguinte:
Depois de parar para pensar em como será nossa API, e fazer seu design e documentação, vamos à nossa lista de linguagens de programação (em artigos futuros):
Nessa API vamos fazer o controle as transportadoras e clientes interessados em realizar um transporte.Sabendo que precisamos de URIs únicas para nossos recursos, chegou a hora de definir recursos, métodos (HTTP) e o caminho para acessarmos cada um desses recursos.Abaixo, para definir nossa API, vou especificar ações realizadas pela API, juntamente com o verbo HTTP que deverá ser usado e a URI onde o recurso está:
Agora que já temos bem claro tudo que a API fará, está na hora de preparar a documentação.Esse artigo dá uma excelente introdução sobre o assunto. Mas como já comentei antes, é conceitual. Vamos ver na prática!A documentação e o código poderão ser encontradas no github da Sensedia: https://github.com/SensediaA ferramenta que usaremos para documentação é o Swagger. Ele é um framework para representar sua API RESTful e faz parte da Open API Specification.Com o Swagger, você é capaz de documentar de forma visual e interativa a sua API. Bem bacana!Para complementar o nosso conteúdo, eu sugiro uma lida no artigo Documentar é preciso, aqui no Blog da Sensedia e na especificação do swagger (https://swagger.io/specification/).Vamos explicar aqui os principais campos da estrutura do Swagger:
Design e Documentação são as partes mais importantes da criação de uma API. Depois que são feitos (e se foram criados de forma adequada), o restante da criação da API fica bem mais simples!Veremos o que vem a seguir em posts futuros. Porém, repito: dedique bastante tempo nessa etapa inicial e o que virá depois será tranquilo.Você pode ver o arquivo Swagger da API do Hub Mudanças no Github da Sensedia: https://github.com/Sensedia/hubmudancasA partir do próximo post, podemos partir para o que os desenvolvedores estão aguardando ansiosamente: Code! Code! Code!Vamos discutir quais são as possibilidades de implementação de uma API utilizando Java e criar um exemplo prático.Nos vemos lá!Enquanto isso, que tal conferir na íntegra o nosso Webinar de Design de APIs? É um dos conteúdos mais elogiados da Sensedia! 1500 pessoas já assistiram =)