API:
GET http://localhost:8080/restaurants/ get all restaurants (with voteCounts, sorted by VoteCount)
GET http://localhost:8080/restaurants/{id} get restaurant with specific id
DELETE http://localhost:8080/admin/restaurants/{id} delete restaurant with specific id
PUT http://localhost:8080/admin/restaurants/{id} update restaurant with specific id
POST http://localhost:8080/admin/restaurants create new restaurant
GET http://localhost:8080/restaurants/{id}/menu get menu of a restaurant with specific id
POST http://localhost:8080/admin/restaurants/{id}/menu refresh menu of a restaurant with specific id
PUT http://localhost:8080/restaurants/{id}/vote perform vote operation for a restaurant with specific id
TEST commands:
User & Admin commands
curl -s http://localhost:8080/restaurants/ --user User:user123
curl -s http://localhost:8080/restaurants/100001 --user User:user123
curl -s http://localhost:8080/restaurants/100001/menu --user User:user123
curl -s -X PUT http://localhost:8080/restaurants/100001/vote --user User:user123
Admin commands only
curl -s -X DELETE http://localhost:8080/admin/restaurants/100001 --user Admin:admin123
curl -s -X PUT -d '{"name":"updated name"}' -H 'Content-Type: application/json' http://localhost:8080/admin/restaurants/100001 --user Admin:admin123
curl -s -X POST -d '{"name":"new name"}' -H 'Content-Type:application/json;charset=UTF-8' http://localhost:8080/admin/restaurants --user Admin:admin123
curl -s -X POST -d '[{"name":"food1", "price":"500"}, {"name":"food2", "price":"300"}]' -H 'Content-Type: application/json' http://localhost:8080/admin/restaurants/100001/menu --user Admin:admin123
curl -s -X DELETE http://localhost:8080/admin/restaurants/100000/menu --user Admin:admin123