そうです、私はヘッダーを介した基本認証を必要とするものに取り組んでおり、HTTP Post を介していくつかの変数を渡しています。これは端末アプリです。
これは私のコードがどのように見えるかです:
import 'package:http/http.dart' as http;
import 'dart:io';
void main() {
var url = "http://httpbin.org/post";
var client = new http.Client();
var request = new http.Request('POST', Uri.parse(url));
var body = {'content':'this is a test', 'email':'john@doe.com', 'number':'441276300056'};
request.headers[HttpHeaders.CONTENT_TYPE] = 'application/json; charset=utf-8';
request.headers[HttpHeaders.AUTHORIZATION] = 'Basic 021215421fbe4b0d27f:e74b71bbce';
request.body = body;
var future = client.send(request).then((response) => response.stream.bytesToString().then((value) => print(value.toString()))).catchError((error) => print(error.toString()));
}
エコー サーバーとして httpbin を使用しているため、何を渡しているかがわかります。本文を渡さない場合、または本文として文字列を渡す場合、コードは正しく動作します。
明らかに、これは http.Request の body 属性が文字列のみを受け入れ、それにマップを渡そうとしているためです。
それを文字列に変換することができ、おそらくうまくいくでしょうが、コードは改善できると思います。構文の観点からでも、将来の処理方法からでもありませんが、 http.dart を使用することが正しいことであるかどうかはわかりません。
誰かが私を正しい方向に向けることができますか?
前もって感謝します。