Flutter post method with empty body

Viewed 1878

I use the requests library to post data and at the server receive empty body no data was pass. Is there anything I left in the code?

Map map = new Map<String, dynamic>();
    map[csrfNameKey] = csrfName;
    map[csrfValueKey] = csrfValue;
    map["username"] = idControler.text;
    map["password"] = passControler.text;

dynamic data;
data = await Requests.post(widget.url + "login", body: json.encode(map),json: true,headers:{"ContentType":"application/json",HttpHeaders.contentTypeHeader: 'application/json'} ,bodyEncoding: RequestBodyEncoding.JSON);
2 Answers

Try it like this,

import 'dart:convert';
import 'package:http/http.dart';

fetchDataByPost() async {

Map<String, dynamic> body = {'id': 222, 'name': 'aam'};

String jsonBody = json.encode(body);
final encoding = Encoding.getByName('utf-8');
final header = {'Content-Type': 'application/json'};

Response response = await post(
widget.url + "login",
headers: header,
body: jsonBody,
encoding: encoding,
);

int statusCode = response.statusCode;
String responseBody = response.body;
}

Just tried with this and success:

data: json.encode(null)
Related