A go-to production API response with an easy format for building APIs with Python.
Project description
Production API Response
A go-to production API response with an easy format for building APIs with Python.
Quickstart
To get it running, follow the steps below:
1). Pip install the package in your project terminal:
pip install rest-api-response
2). In the file (.py) that you wish to use it, import it:
from rest_api_response import success_response, error_response
That's pretty much it - you can now call the function and pass the required arguments!
Example
Suppose you have an API class that returns a list of blog posts to a client:
# imports goes here
...
class PostListAPIView(views.APIView):
serializer_class = PostSerializer
def get(self, request):
"""Returns a list of posts"""
posts = Post.objects.all()
serializer = self.serializer_class(posts, many=True)
return Response(serializer.data)
The API response would be:
[
{
"title": "First blog post",
"content": "Lorem ipsume content",
"author": 1
},
{
"title": "Second blog post",
"content": "Lorem ipsume content",
"author": 2
},
{
"title": "Third blog post",
"content": "Lorem ipsume content",
"author": 3
}
]
This works too, but let's take the response to the next level by doing this:
# imports goes here
...
from rest_api_response import success_response
class PostListAPIView(views.APIView):
serializer_class = PostSerializer
def get(self, request):
"""Returns a list of posts"""
posts = Post.objects.all()
serializer = self.serializer_class(posts, many=True)
_response = success_response(
message="Post retrieved!",
data=serializer.data
)
return Response(data=_response, status=status.HTTP_200_OK)
The API response would be:
[
"status": true,
"message": "Posts retrieved!",
"data": [
{
"title": "First blog post",
"content": "Lorem ipsume content",
"author": 1
},
{
"title": "Second blog post",
"content": "Lorem ipsume content",
"author": 2
},
{
"title": "Third blog post",
"content": "Lorem ipsume content",
"author": 3
}
]
]
And that's it. You have a nicely catchy response. :-)
Contribute
All contributions are welcome:
- Read the issues, Fork the project and do a Pull Request.
- Request a new topic creating a
New issue
with theenhancement
tag. - Find any kind of errors in the
README
and create aNew issue
with the details or fork the project and do a Pull Request. - Suggest a better or more pythonic way for existing examples.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for rest_api_response-0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7933c9bfc5468c443256193c04bc3bc5fd3194d70260ce48e6c630045c27dd53 |
|
MD5 | 66ab540a9099f0478d9f70facad3100f |
|
BLAKE2b-256 | 2def33414f942a36789c1c65093668bd26d84e35b1b17d2340ad8325b2d416fa |