Ad

How To Send Http In Raw JSON Format

- 1 answer

Hi i am having a question these is my http body and header i want to convert it to request expected request of postman request

where format is JSON and in raw

var response = await http.post(
      '${UIData.baseAppUrl}/api/v1/endpoint',
body: {
    "device_id": "$deviceId",
    "country_id": "$countryId",
    "contacts": [
      {
        "name": "test",
        "email": "[email protected]",
        "phone": "+911111111110"
      },
      {
        "name": "Test 2",
        "email": "[email protected]",
        "phone": "+910000000000"
      }
    ]
  },
  headers: {
    "Accept": "application/json",
    "Authorization": "Bearer $token"
  },

But when i run this i ma getting this

type 'List<Map<String, String>>' is not a subtype of type 'String' in type cast

Please i need to find solution for this if anyone can help me thanks in advance

Ad

Answer

May be in future some one would definitely face this issue for them don't worry

var response = await http.post(
      '${UIData.baseAppUrl}/api/v1/endpoint',
body: jsonEncode({
    "device_id": "$deviceId",
    "country_id": "$countryId",
    "contacts": [
      {
        "name": "test",
        "email": "[email protected]",
        "phone": "+911111111110"
      },
      {
        "name": "Test 2",
        "email": "[email protected]",
        "phone": "+910000000000"
      }
    ]
  }),
  headers: {
    "Accept": "application/json",
    "Authorization": "Bearer $token",
    "Content-Type": "application/json",
  },

I just use wrap body in jsonEncode() and use "Content-Type": "application/json" in header and magic happen.

Ad
source: stackoverflow.com
Ad