Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A go-to production API response with an easy format for building APIs with Python. 🐍

License

Notifications You must be signed in to change notification settings

aybruhm/api-response

Repository files navigation

Production API Response

Package Code Quality Package Published to PypI

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 the enhancement tag.
  • Find any kind of errors in the README and create a New issue with the details or fork the project and do a Pull Request.
  • Suggest a better or more pythonic way for existing examples.

About

A go-to production API response with an easy format for building APIs with Python. 🐍

Topics

Resources

License

Stars

Watchers

Forks

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /