Names are important. What names? Those behind our favorite movies, that’s who! So let us save them via a web service.
In our development environment, we use a in-memory database and a web server listening on port 3025.
$ boot devOr, if you don’t intend to connect with a REPL to the running system, type simply:
$ boot dev-runIn our production environment, we use a persistent database and a web server listening on port 8008.
$ boot prod-runTo search for a movie’s director:
curl -H "Content-Type: application/edn" -X POST -d '{:movie "Realm of the Senses"}' http://localhost:3025/movie {:director ("Nagisa Ōshima")}
To add a director to our database:
curl -H "Content-Type: application/edn" -X PUT -d '{:director "Nagisa Ōshima"}' http://localhost:3025/directorTo list directors in our database:
curl http://localhost:3025/directors("Nagisa Ōshima")
Let’s look for another all-time favorite.
curl -H "Content-Type: application/edn" -X POST -d '{:movie "Professione: reporter"}' http://localhost:3025/movie {:director ("Michelangelo Antonioni")}
Now that we know the name of the director, we can persist it to our database.
curl -H "Content-Type: application/edn" -X PUT -d '{:director "Michelangelo Antonioni"}' http://localhost:3025/directorLet’s verify it’s there:
curl http://localhost:3025/directors("Nagisa Ōshima" "Michelangelo Antonioni")
Let’s repeat this one more time for a third movie/director:
curl -H "Content-Type: application/edn" -X POST -d '{:movie " À bout de souffle"}' http://localhost:3025/movie {:director ("Jean-Luc Godard")}
Saving to database:
curl -H "Content-Type: application/edn" -X PUT -d '{:director "Jean-Luc Godard"}' http://localhost:3025/directorWe should now have three directors in our database:
curl http://localhost:3025/directors("Nagisa Ōshima" "Michelangelo Antonioni" "Jean-Luc Godard")
Let’s suppose we want to remove one.
curl -H "Content-Type: application/edn" -X DELETE -d '{:director "Nagisa Ōshima"}' http://localhost:3025/directorLet’s verify the removal was properly executed.
curl http://localhost:3025/directors("Michelangelo Antonioni" "Jean-Luc Godard")