A Reviews django drf API
- python 3.x
- pipenv
git clone https://github.com/lwoites/reviews_api.git
cd reviews_api
pipenv install
python django/manage.py migrate
pythoh django/manage.py createsuperuser
go to http://localhost:8000/admin/users/reviewer/add/ and create some users
pipenv shell
python django/manage.py runserver
pipenv shell
cd django
./coverage.sh
# open htmlcov/index.html with a browser and enjoy
The Reviews API allows you to:
- CRUD Companies (any logged user can)
- CRUD Reviews (any logged user can create, users can't get,list, delete, modify other users reviews)
Is made by sending Token <TOKEN> in the Authorization Header
curl -X POST \
http://localhost:8000/api-token-auth/ \
-H 'Content-Type: application/json' \
-d '{
"username": "<USERNAME>",
"password": "<PASSWORD>"
}'
curl -X POST \
http://localhost:8000/api/v1/companies/ \
-H 'Authorization: Token <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"name": "company 1",
"description": "A wonderful company"
}'
curl -X GET http://localhost:8000/api/v1/companies/1/ -H 'Authorization: Token <TOKEN>'
curl -X GET http://localhost:8000/api/v1/companies/ -H 'Authorization: Token <TOKEN>'
curl -X DELETE http://localhost:8000/api/v1/companies/1/ -H 'Authorization: Token <TOKEN>'
curl -X PUT http://localhost:8000/api/v1/companies/1/ \
-H 'Authorization: Token <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{"name": "company 1 modified"}'
curl -X POST \
http://localhost:8000/api/v1/reviews/ \
-H 'Authorization: Token <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"title": "review title",
"summary": "summary of the review",
"rating": 3,
"company": 2
}'
curl -X GET http://localhost:8000/api/v1/reviews/ -H 'Authorization: Token <TOKEN>'
curl -X DELETE http://localhost:8000/api/v1/reviews/1/ -H 'Authorization: Token <TOKEN>'
curl -X PATCH http://localhost:8000/api/v1/reviews/1/ \
-H 'Authorization: Token <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{"title": "review title modified"}'