Shortens links using Spring Boot + ReactJS
git clone git://github.com/ybutrameev/url-shortener.git
cd url-shortener
mvn clean install
You will also need redis-server to use this project
Then look up to your target
folder to experience new born lv-1.0-SNAPSHOT.jar
You can simply run java -jar lv-1.0-SNAPSHOT.jar
at that point
Web interface will be available at localhost:8080
http://localhost:8080/api/shorten
Consumes a link and optional custom id. Id's max size is 12 symbols.
{
"url": "https://github.com",
"customId": null
}
Returns:
{
"shortUrl": "http://localhost:8080/r/baTo"
}
http://localhost:8080/api/get/{id}
Returns a long link consuming id as a path variable:
{
"longUrl": "http://github.com"
}
http://localhost:8080/api/count
Returns a number of already shortened links:
{
"urlCount": "29381"
}
API error format:
{
"timestamp": "2018-12-12T15:55:55.059+0000",
"status": 400,
"error": "Bad Request",
"message": "Custom Id is already used",
"path": "/api/shorten"
}
This project uses JUnit4 to test REST API endpoints.
Tests are located at src/test/java