我正在嘗試從 Flutter 應用程式將資料發布到我的 Strapi 專案。我確保為未經身份驗證的用戶啟用了權限。我的請求有什么問題?
Future saveReview(usrReview, usrRating) async {
const endpoint = 'http://localhost:1337/api/reviews';
var url = Uri.parse(endpoint);
Map<String, String> headers = {
'Content-Type': 'application/json; charset=UTF-8',
};
var reviewObj = jsonEncode({
'review': usrReview,
'rating': usrRating,
});
var response = await http.post(
url,
headers: headers,
body: reviewObj,
);
print(response.statusCode);
}
uj5u.com熱心網友回復:
問題是 reviewObj 的結構缺少一些東西。我必須在其中包含“資料”才能正常作業。這是正確的身體應該是什么樣子。
var reviewObj = jsonEncode({
'data': {
'review': usrReview,
'rating': usrRating,
}
});
uj5u.com熱心網友回復:
我認為這可能會解決您的問題!幾天前我最近遇到了同樣的錯誤!
基本上,您必須將 POST 請求的主體作為字串發送。
這就是它應該是什么樣子的!
Future saveReview(usrReview, usrRating) async {
const endpoint = 'http://localhost:1337/api/reviews';
var url = Uri.parse(endpoint);
Map<String, String> headers = {
'Content-Type': 'application/json; charset=UTF-8',
};
// Pass the JSON data as a whole string. Then the server should parse it
var reviewObj = '{"review": $usrReview, "rating": $usrRating}';
var response = await http.post(
url,
headers: headers,
body: reviewObj,
);
print(response.statusCode);
}
試一試,讓我知道這是否有效!
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/471053.html
上一篇:在ReactJs中發布條件資料
