spring boot rest api playgroung
Foram criados dois bancos local sendo um para a aplicação e outro para rodar os testes de integração/endpoints, com as seguintes URIs de conexão. Além disso, foi disponibilizado no arquivo application.properties
uma url de conexão em um banco de dados as service online postgresql, caso não desejam criar uma database xy-inc
local na porta 5433 (ou de sua preferência).
Banco principal: jdbc
//localhost:5433/xy-inc
Banco de teste: jdbc
mem:test
Posgresql as Service: jdbc
//ec2-184-73-153-64.compute-1.amazonaws.com:5432/dc6j2oppjdv26m
Assim, a seguinte modelagem da entidade foi projetada:
name: String required,
x: Integer required,
y: Integer required,
A porta 8080 está exposta, e a partir dela é possível acessar a API de resources:
GET
Listagem: Para consultar todos os recursos cadastrados no banco, basta acessar http://localhost:8080/poi
Encontrar POI’s proximos: A partir de http://localhost:8008/poi/near é possível listar todos os pois proximos a um determinado ponto levando em consideração uma thresold de distância, para isso envie como parâmetro na url os seguintes dados: x, y e d (distância máxima desejada para filtragem).
Por exemplo: http://localhost:8008/poi/near?x=20&y=10&d=10
Resposta:
[
{
"id": 1,
"x": 27,
"y": 12,
"name": "Lanchonete"
},
{
"id": 3,
"x": 15,
"y": 12,
"name": "Joalheria"
},
{
"id": 5,
"x": 23,
"y": 6,
"name": "Supermercado"
},
{
"id": 6,
"x": 12,
"y": 8,
"name": "Pub"
}
]
POST
Criação de novo POI: A partir de http://localhost:8080/poi é possível criar um novo POI, como payload debe ser enviado um objeto JSON, como no exemplo:
{
"x": 22,
"y": 17,
"name": "Estádio de futebol"
}
This application is packaged as a war which has Tomcat 8 embedded. No Tomcat or JBoss installation is necessary. You run it using the java -jar
command.
mvn clean package
java -jar -Dspring.profiles.active=test target/spring-boot-rest-example-0.5.0.war
or
mvn spring-boot:run -Drun.arguments="spring.profiles.active=test"
Run the server and browse to localhost:8080/swagger-ui.html