[英]values coming as 0 or null through rest API react native/spring boot
我正在嘗試從前端(本機反應)向中間件(彈簧啟動)發送一些數據,由於某種原因,這些值將變為0和null。 通過郵遞員發送完全相同的對象就可以了。 我試過用“ like "quizId":2
包圍參數名稱,它也行不通。之前我在下面使用了這種確切的方法,並取得了巨大的成功。我對這種情況的發生一無所知。任何幫助是極大的贊賞。
終點:
void recordScore(@RequestBody Score score){
System.out.println(score);
serv.recordScore(score);
}
從react native發送時,上面sysout的控制台輸出:
Score(quizId=0, staffId=0, totalScore=0.0, userQuizRecords=null, timeTaken=0, correctAns=0, takenDate=null)
使用郵遞員時的控制台輸出:
Score(quizId=3, staffId=405986, totalScore=30.0, userQuizRecords=[UserQuizRecord(id=0, staffId=405986, quizId=2, questionId=5, score=4, correctAns=true, takenDate=null), UserQuizRecord(id=0, staffId=405986, quizId=2, questionId=6, score=1, correctAns=false, takenDate=null), UserQuizRecord(id=0, staffId=405986, quizId=2, questionId=7, score=4, correctAns=true, takenDate=null), UserQuizRecord(id=0, staffId=405986, quizId=2, questionId=8, score=3, correctAns=false, takenDate=null)], timeTaken=400, correctAns=4, takenDate=null)
JS:
let score = {
quizId: 2,
staffId: 405986,
totalScore: 30,
userQuizRecords: [{
staffId: 405986,
quizId: 2,
questionId: 5,
score: 4,
correctAns: true
},
{
staffId: 405986,
quizId: 2,
questionId: 6,
score: 1,
correctAns: false
},
{
staffId: 405986,
quizId: 2,
questionId: 7,
score: 4,
correctAns: true
},
{
staffId: 405986,
quizId: 2,
questionId: 8,
score: 3,
correctAns:false
}
],
timeTaken: 400,
correctAns: 4
}
取:
return fetch(apis.recordScore, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
score:score
})
您可以嘗試對不帶大括號的對象進行字符串化嗎
body: JSON.stringify(score)
您確定要使用郵遞員發送完全相同的數據嗎?
這里可能出問題了:
body: JSON.stringify({
score:score
})
在沒有包裝分數對象的情況下嘗試
body: JSON.stringify(score)
我從這里看不到您的Score定義,但我認為它沒有定義為具有一個名為score的成員屬性,並且所有字段都封裝在該子字段中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.