API Hypermedia(HATEOAS) parte 1

Olá, pessoal. Esse é meu primeiro artigo espero que gostem.

Estou aplicando API Hypermedia no meu workflow com isso ainda estou iniciando nessa abordagem, porém espero que ajude alguém que esteja estudando a entender mais sobre o assunto.

Hypermedia API(HATEOAS) o que é, de onde vem e o que come?

Hypermedia === HATEOAS(Hypermedia As The Engine Of Application State)

O termo hypermedia foi criado por Ted Nelson em 1965 que resumindo muito mesmo é a extensão do hypertext.

Definição de hypertext algo que você pode reconhecer a partir do HTML. O hypertext é essencialmente texto que está escrito em um formato estruturado e contém relacionamentos com outros objetos através de links.

Hypermedia inclui imagens, vídeos, áudios, textos e links. Seguindo esse conceito para uma API REST podemos fornecer muito mais informações como tipo de conteúdo e relacionamento que pode ser recuperado, ações que podem ser executadas com links apropriados para cada ação, com isso a aplicação cliente fica desacoplada fazendo com que a aplicação servidor e cliente evolua de forma independente e de forma intuitiva.

A aplicação cliente não deve criar URLs. A única url que o cliente precisa saber é o domínio raiz http://dominio.com.br/api/v1/ qualquer url adicional vem da API.

Etapas para alcançar a Hypemedia

Para ser bem prático vou dar um exemplo simples de uma resposta da Hypermedia API:

No trecho de código acima temos um exemplo simples de resposta de uma api utilizando o hypermedia.

Um outro exemplo de uma api no padrão Hypermedia é a api do github que na raiz da sua api traz o padrão.

Analisando esse JSON você encontra tudo que seu app cliente precisa para navegar entre recursos do github.

Vejamos a propriedade repository_url para acessar você já sabe o que necessita sem precisar consultar documentação e nem montar todo o link(endpoint),

{owner} é seu usuário no meu caso jeftarmascarenhas e {repor} meu repositório.

Como fica o link: https://api.github.com/repos/jeftarmascarenhas/react-redux-study

Creio que estes exemplos ajudam a entender o básico de hypermedia.

Na parte dois desse artigo irei mostra um exemplo de Hypermedia API utilizando nosso maravilhoso Node.js(express.js).

Até o próximo artigo.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.