Api请求返回415,但它没有媒体文件



我试图用这个API向服务器添加地址,但问题是它在图像中返回错误415消息,但我不发送任何媒体文件,我只发送一个JSON映射,如图像中所示。

尽管它在poster中工作,但它在模拟器中返回此错误

这是API请求的功能

Future addAddress(Placemark placemark) async {
try {
String token = DataSaver.getData(tokenKey);
Uri uri = Uri.parse("$url$usersTag/$uid$addressTag");
var response = await http
.post(
uri,
headers: <String, String>{
'userId': uid,
"Authorization": "Bearer $token",
},
body: json.encode(AddressCredintials.fromPlacemark(placemark)),
)
.timeout(timeoutDuration, onTimeout: () {
log("request TimeOut");
return http.Response('Error', 408);
});
print(response.body.toString());
if (response.statusCode == 200) {
log("address added");
} else {
print(response.statusCode);
}
} catch (e) {
print(e);
} }

这就是我正在使用的类。

class AddressCredintials {
String govID;
String cityID;
String? villageID;
String street;
String? building;
String? apartment;
AddressCredintials(
{this.apartment,
this.building,
required this.street,
required this.cityID,
required this.govID,
this.villageID});
factory AddressCredintials.fromPlacemark(Placemark placemark) {
return AddressCredintials(
street: placemark.street,
cityID: placemark.city.id,
govID: placemark.government.id,
apartment: placemark.apartment,
building: placemark.building,
villageID: placemark.village != null ? placemark.village!.id : null);
}
Map toJson() {
return {
"governorateId": govID,
"cityId": cityID,
"areaId": villageID,
"street": street,
"buildingNo": building,
"appartmentNo": apartment
};
}
}

将此值添加到标头"content-type": "application/json"

如果您的响应也是json,请添加以下内容"accept": "application/json"

最新更新