Welcome to Django microservice request’s documentation!
Django application for make sync requests (REST API) between microservices or external APIs.
If you don’t have any microservices yet, you can try to use Django template
Quickstart
Installation
Install the package
$ pip install django-microservice-request
Usage (Google Captcha example)
settings.py
GOOGLE_CAPTCHA_URL = "https://google.com/recaptcha/api/siteverify"
GOOGLE_CAPTCHA_SECRET_KEY = os.environ.get("GOOGLE_CAPTCHA_SECRET_KEY")
services.py
from django.conf import settings
from microservice_request.services import ConnectionService
class GoogleCaptchaService(ConnectionService):
service = settings.GOOGLE_CAPTCHA_URL
secret_key = settings.GOOGLE_CAPTCHA_SECRET_KEY
def validate_captcha(self, captcha: str) -> dict:
params = {
"secret": self.secret_key,
"response": captcha,
}
response = self.service_response(method="get", params=params)
return response.data
serializers.py
from .services import GoogleCaptchaService
class CaptchaMixinSerializer(serializers.Serializer):
captcha = serializers.CharField()
def validate_captcha(self, captcha: str) -> str:
service = GoogleCaptchaService()
response_data = service.validate_captcha(captcha)
if not response_data.get("success"):
raise serializers.ValidationError("Captcha validation error")
return captcha
class LoginSerializer(CaptchaMixinSerializer):
login = serializers.CharField()
password = serializers.CharField()