Flutter - Como fazer uma requisição para o webservice no formato JSON

Pessoal, boa noite!, no meu webservice eu espero um formato json. 
nesse caso como eu faria para enviar um json para o meu webservice?
se alguém poder me ajudar eu agradeço. :slight_smile: 
  void submit() async{

    final cpf = _CPFController.value;
    final password = _passwordController.value;

    const request = "http://localhost:2020/RIF/WsAutenticar.rule?sys=RRR";
    http.Response response = await http.get(request);
    // print(json.decode(response.body)["error"]);
    if(json.decode(response.body)["error"]){
      //_stateController.add(LoginState.FAIL);
      print(json.decode(response.body)["error"]);
    }else {
      print(json.decode(response.body)["error"]);
    }
    _stateController.add(LoginState.LOADING); //carregando

  }

A ideia é fazer uma requisição do tipo via post. :\

faz assim…

void submit() async{

final cpf = _CPFController.value;
final password = _passwordController.value;
Map data = {
  'login':cpf,
  'senha':password
};

const request = “http://localhost:2020/RIF/WsAutenticar.rule?sys=RRR”;
var body = json.encode(data);

var response = await http.post(url,
    headers: {"Content-Type": "application/json", "accept" : "application/json",},
    body: body
);
if(json.decode(response.body)["error"]){
  //_stateController.add(LoginState.FAIL);
  print(json.decode(response.body)["error"]);
}else {
  print(json.decode(response.body)["error"]);
}
_stateController.add(LoginState.LOADING); //carregando

}

1 curtida

Funcionou! muito obrigado!