1

I want to POST the following data:

{
    "user": {
        "name": "user name",
        "email": "[email protected]",
        "phone_number": "01XXXXXXXXX",
        "user_type": "MGR"
    },
    "img": "image_data",
    "manager_brands": [
        2,
        1
    ]
}

How can I pass this JSON data through postman? Challenges I am facing:

  1. This is a nested JSON data
  2. I am passing an image with it.

Note: I wrote the nested serializers to GET/PUT/PATCH/DELETE requests. Everything works fine when I don't send an image (image is optional here).

1 Answer 1

1

Convert your Image to base64Image and send it through the JSON data.

All you need to do is:

  1. go to https://www.base64-image.de/ and convert the image to base64 format. Copy the encoded result.
  2. Install django-extra-fields package in your project from here
  3. In your serializer_class, change the image field like the following code:

serializers.py

...
from drf_extra_fields.fields import Base64ImageField
...
 
...
class ProfileSerializer(serializer.ModelSerializer):
    user = UserSerializer()
    img = Base64ImageField(required=False)

    class Meta:
        model = Profile
        fields = ('user', 'img', 'manager_brands')
...
  1. Now, go to your postman and send the JSON data like the following. Remember to send that encoded image in your img field in JSON.
{
    "user": {
        "name": "user name",
        "email": "[email protected]",
        "phone_number": "01XXXXXXXXX",
        "user_type": "MGR"
    },
    "img": "<base64 encoded image>",
    "manager_brands": [
        2,
        1
    ]
}

Hope this helps :D

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.