api-wrapper-boilerplate/README.md
2023-09-08 21:33:09 -04:00

1.4 KiB

API Wrapper Boilerplate

Example Code

The example code in main.py uses the JSONPlaceholder demo API, which is a great resource for learning how to work with JSON based REST APIs.

The example code also demonstrates how the wrapper will raise exceptions by initializing the ApiWrapper with a broken proxy.

Development

The ApiWrapper class includes private class convenience methods that utilize the internal requests.Session object to persist session data across all API requests. When developing public methods, use the appropriate convenience methods:

  • self.__get
  • self.__post
  • self.__put
  • self.__patch
  • self.__delete

Error Handling

The ApiWrapper class defines custom exceptions for handling API request and response errors.

  • ApiRequestException is raised when there is an issue with the API request.
  • InvalidApiResponse is raised when the API response is not a valid JSON.

You can catch these exceptions and handle them accordingly in your code.

Debugging

To turn on debugging, initialize the wrapper with debug=True. This will set the log level of urllib3 to logging.DEBUG.

If a global logger is not configured, a logger will be initialized with the basic configuration:

DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): jsonplaceholder.typicode.com:443
DEBUG:urllib3.connectionpool:https://jsonplaceholder.typicode.com:443 "GET /users HTTP/1.1" 200 None