- JDK 8
- Maven
- MongoDB
- Spring Tool Suit (Somente para importar o projeto -> File > Import > Existinn Mavem Projects)
Obs. O Spring Toll Suit é para importar o projeto e ver a estrutura do projeto. Mas também pode ser feito pelo Eclipse.
Obs: Tanto o banco de dados MongoDB(Embedded) quanto o servidor (Apache Tomcat) são embarcados e rodam no mesmo ciclo de vida da aplicação.
O MongoDB está pré configurado para rodar na porta: 27017, mas caso queira mudar as configurações iniciais, para rodar em ambiente externo ao Embedded, basta alterar o application.properties com um modelo parecido com o exemplo que segue abaixo.
spring.data.mongodb.host=mongoserver
spring.data.mongodb.port=27017
- Temos 03 formas de executar os testes
1) Na raiz do projeto execute: mvn clean test
2) Caso a porta 8080 esteja em uso por outra aplicação, rode o comando: 'mvn clean test -Dserver.port=8090' para alterar a porta caso precise.
3) Vá no projeto e procure pelo arquivo XyIncApplicationTests.java e click com o botão direito dentro desta classe e execute : Run as > Junit Test
- Temos 03 formas de exeutarmos a aplicação
1 - Na raiz do projeto execute o comando: mvn clean package && java -jar target/xy-inc-0.0.1-SNAPSHOT.jar
2 - Na raiz do projeto execute o comando: mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8081' , alterando a porta caso precise.
3 - Com o projeto importado no Spring Tool Suite - Procure pela classe java: XyIncApplication.java e click com o botão direito em Run as -> Spring boot App ou Run as -> Java Application
GET - Lista todos os pontos de interesse
POST - Cadastra novo ponto de interesse através de Payload json, conforme exemplo abaixo.
Execute um a um cada objeto de json abaixo.
[
{
"nome": "Lanchonete",
"coordenadaX": 27,
"coordenadaY": 12
},
{
"nome": "Posto",
"coordenadaX": 31,
"coordenadaY": 18
},
{
"nome": "Joalheria",
"coordenadaX": 15,
"coordenadaY": 12
},
{
"nome": "Floricultura",
"coordenadaX": 19,
"coordenadaY": 21
},
{
"nome": "Pub",
"coordenadaX": 12,
"coordenadaY": 8
},
{
"nome": "Supermercado",
"coordenadaX": 23,
"coordenadaY": 6
},
{
"nome": "Churrascaria",
"coordenadaX": 28,
"coordenadaY": 2
}
]
GET - Lista todos os pontos de interesse mais próximos de acordo com as coordenadas e a dinstância passada
Edite a URL na medida quer for preciso alterando apenas os parâmetros que seguem: coordenadaX=?, coordenadaY=?, distancia=?