Flutter 布阵

Flutter 布阵,flutter,http,dart,flutter-layout,flutter-test,Flutter,Http,Dart,Flutter Layout,Flutter Test,我想将此阵列发布到服务器 [ { “productID”:20203, “产品数量”:1, “产品价格”:200 }, { “productitemID”:2483, “产品数量”:1, “产品价格”:400 } ] Future post-order(productorder\u post-post)异步{ 字符串urlss=”https://SHOP.NOW.com/api/ORDER"; 映射头={HttpHeaders.contentTypeHeader:'application/jso

我想将此阵列发布到服务器 [ { “productID”:20203, “产品数量”:1, “产品价格”:200 }, { “productitemID”:2483, “产品数量”:1, “产品价格”:400 } ]

Future post-order(productorder\u post-post)异步{
字符串urlss=”https://SHOP.NOW.com/api/ORDER";
映射头={HttpHeaders.contentTypeHeader:'application/json'
};
http.Response-Response=wait http.post(urlss,标题:{
“内容类型”:“应用程序/json”,
},body:json.encode(post.toJson());
如果(response.statusCode==200 | | response.statusCode==400){
字符串responseBody=response.body;
打印(应答本);
}否则{
抛出异常(response.statusCode);
}
}
邮购(新产品订单+邮购(项目编号:88,数量:8,价格:44))

class productorder\u post{
int itemID;
整数;
国际价格;
productorder_post({this.itemID,this.quantity,this.price});
productorder_post.fromJson(映射json){
itemID=json['itemID'];
数量=json['quantity'];
price=json['price'];
}
映射到JSON(){
最终地图数据=新地图();
数据['itemID']=this.itemID;
数据['Quantity']=此数量;
数据['Price']=此价格;
返回数据;
}
}

假设您的服务器工作正常,可能的问题是您正在发送整数。据我所知,flatter中的http包无法在json正文中发送整数。您必须将它们解析为字符串。。。至少我会这么做。

你对“服务器”的服务是什么?E/flatter(10647):[ERROR:flatter/lib/ui/ui\u dart\u state.cc(177)]未处理的异常:异常:405如果你在尝试发布时收到一个错误。基本上,您的服务器不接受POST请求。
Future<String> postorder(productorder_post post) async {

  String urlss = "https://SHOP.NOW.com/api/ORDER";




  Map<String,String> headers = {   HttpHeaders.contentTypeHeader: 'application/json'
  };
  http.Response response = await http.post(urlss,headers: {
    "content-type": "application/json",
  }, body: json.encode(post.toJson()));

  if (response.statusCode == 200 || response.statusCode == 400) {
    String responseBody = response.body;


    print(responseBody);
   

  } else {
    throw Exception(response.statusCode);
  }
}
class productorder_post {
  int itemID;
  int quantity;
  int price;

  productorder_post({this.itemID, this.quantity, this.price});

  productorder_post.fromJson(Map<String, dynamic> json) {
    itemID = json['itemID'];
    quantity = json['Quantity'];
    price = json['Price'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['itemID'] = this.itemID;
    data['Quantity'] = this.quantity;
    data['Price'] = this.price;
    return data;
  }
}