Skip to content

mariobacellar/starwars

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StarWars APIs v.01

StarWars API

Build Status Codacy Badge License: Unlicense

Descrição

Muito simples, mas com um detalhe bastante útil.

Em sua maior parte, este projeto é basicamente um clone do template que a Spring recomenda em Accessing MongoDB Data with REST.

Esse template já suporta as operações CRUD com o MongoDB.

Mas o que o template não te ensina é como personlizar a implementação de uma consulta (Query) no MongoDB.

É isso mesmo! \o/ Como todo o acesso ao MongoDB é feito dentro da 'caixa preta' do framework da Spring, se você precisar personalizar um acesso ao MongoDB, ou até mesmo desenvolver um processo de inversão de controle no seu código (IOC), você vai precisar fazer o seguinte:

  • Primeiro crie uma interface que representa essa personalização: PlanetaRepositoryCustom

  • Depois crie uma classe (PlanetaRepositoryCustomImpl) que implementa sua interface (PlanetaRepositoryCustom). E escreva o que quiser.

  • E para que sua implementação faça parte do fluxo HATEOAS do framework Spring, inclua mais uma dependência hieraquica na interface do seu documento (PlanetaRepository). Ainda bem que podemos fazer isso com as Interfaces, não é mesmo?

Desafio Backend

Criar uma API (serviço de dados) conforme solicitado pelo desafiante!!! o/

Requisitos:

  • API REST

  • O Documento (Planeta) devem ter a seguinte estrutura: Nome do planeta; Clima característico do Planeta e Terreno predominante do Planeta

  • A API deve possibilitar a inserção manual dos Documentos

  • Para cada planeta devemos ter como obter a quantidade de aparições nos filmes da franquia Star Wars

  • Para obter os dados dos planetas, acesse o site SWAPI The Star Wars API

Funcionalidades desejadas:

  • Adicionar um planeta (com nome, clima e terreno)

  • Listar planetas

  • Buscar por nome

  • Buscar por ID

  • Remover planeta

Instalação

https://github.com/mariobacellar/startwarsb2w.git

Execução

Entre no diretório onde está o starwarsb2w-0.0.1-SNAPSHOT.jar

Digite $java -jar ./starwarsb2w-0.0.1-SNAPSHOT.jar br.com.b2w.starwars.StarWarsB2wApplication

Assim que a API subir, digite $curl http://localhost:8080/planeta/search

Author

Mario da Costa Bacellar é SME em Integração de Sistemas atualmente trabalha no mercado de Banking como Arquiteto de Solução com foco em Integração Digital. Ele é pós graduado pela Universidade Federal do Rio de Janeiro (@2015) em Engenharia da Computação (MBA). Atuando no mercado corporativo em integração de sistemas (SOA) desde 2001, passa o tempo publicando textos e códigos simples por ai \o/

Fale Comigo o/

  • mario.bacellar@gmail.com
  • https://www.linkedin.com/in/mariobacellar
  • Veja Também

    Reference Documentation


    ©2020 No Copyright, You can share! \o/

    This code was developed in the middles of COVID outbreak in quarantine regime.

    About

    API de Planets da franquia Star Wars

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    Languages