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

28 lines
1.1 KiB
Markdown

# API Wrapper Boilerplate
## Example Code
The example code in `main.py` uses the [JSONPlaceholder](https://jsonplaceholder.typicode.com/) 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.__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`