This project is all generated by phoenix framework. Actually I just spent time removing the static files and configuring the application to run with docker. Which is a good point to the framework because at least to the bootstrap makes everything faster and easier.
Cloning this project:
git clone [email protected]:maxcnunes/elixir-phoenix-rest-api.git rest_api
To start your Phoenix app:
- Install dependencies with
mix deps.get
- Set the env variable
DATABASE_URL="ecto://user:password@db/rest_api_dev"
(you may change the values) - Create and migrate your database with
mix ecto.create && mix ecto.migrate
- Start Phoenix endpoint with
mix phoenix.server
Now you can visit localhost:4000
from your browser.
- Create and migrate your database with
docker-compose run --rm local sh -c "mix ecto.create && mix ecto.migrate
- Start Phoenix endpoint with
docker-compose run --rm local
Now you can visit <container-ip>:<container-public-port>
from your browser.
Or in case your are using dockito-proxy api.local.dockito.org.
List
curl http://api.local.dockito.org/posts
Create
curl -H "Content-Type: application/json" \
-X POST \
-d '{"post": {"title":"Title 001","content":"Content 001"} }' \
http://api.local.dockito.org/posts
Update
curl -H "Content-Type: application/json" \
-X PUT \
-d '{"post": {"title":"Title 001 Updated","content":"Content 001 Updated"} }' \
http://api.local.dockito.org/posts/1
Delete
curl -X DELETE \
http://api.local.dockito.org/posts/1
mix test
docker-compose run --rm test