Geographic data related service. Currently, is only integrated with ipstack
- Configure proxy to set
X-Real-IP
header - Route traffic to the service
- Send a request
Example:
curl "https://test.website/location/find" -H "X-Real-IP: 127.0.0.1" -v
< HTTP/1.1 200
< Content-Type: application/json
<
{
"country": {
"code": "DE",
"name": "Germany"
},
"city": "Dusseldorf"
}
Use q
request param to search predefined locations by a sample string. The search is performed in startsWith
fashion on top of a qualifier with city country
format:
Example
curl "https://test.website/location/list?q=Istanbul&20Turk" -v
< HTTP/1.1 200
< Content-Type: application/json
<
[
{
"country": {
"code": "TR",
"name": "Turkey"
},
"city": "Istanbul"
},
{
"country": {
"code": "TR",
"name": "Turkey"
},
"city": "Istanbul Old Town"
},
{
"country": {
"code": "TR",
"name": "Turkey"
},
"city": "Istanbulbogazi"
}
]
Warning
The search is case sensitive
Build requirements:
- latest JDK and Maven
Runtime stack:
- Java 20+ (none for the GraalVM image version)
- API credentials for ipstack
Checkout the project and build it using mvn package
command
An example run:
java -jar -Xmx256M target/geo.jar \
--server.port=8000 \
--spring.cors.allowed-origins=https://test.website \
--spring.data.mongodb.uri="mongodb+srv://geo:test@mongodb.example.com/geo?tls=true&authSource=admin&replicaSet=mongodb" \
--integration.ipstack.url=https://api.ipstack.com \
--integration.ipstack.access-key=723953e7b0e27c762c38213b7c71fd77
Also available on Docker Hub