1 回答

TA貢獻1815條經驗 獲得超13個贊
使用 Lombok 作為我的 getter/setter,您可以忽略它并編寫自己的 getter/setter
您的請求正文存在問題,您應該將 json 中的密鑰作為 java 變量名傳遞,您正在傳遞
Student_payment_details
而不是payment_detailsList
Getters 和 Setters 應該與你的變量名有關。
請求網址:
curl -X POST \
http://localhost:8080/register/reg \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
"id": 300,
"name": "kukri",
"age": 26,
"registrationNumber": "54326",
"payment_detailsList": {
"pay": 50000,
"date": "23061994",
"phcounter": "SKB"
}
}'
Java Dtos:
import lombok.Data;
@Data
public class Student_payment_details {
int pay;
String date;
String phcounter;
}
import lombok.Data;
@Data
public class Student {
private int id;
private String name;
private int age;
private String registrationNumber;
private Student_payment_details payment_detailsList; //getter and setter
}
下圖顯示了控制器內填充的學生變量的內容
注意:我不知道您的用例,但作為一般建議,請遵循 1 種命名約定,snake_case或camelCase.
在 java 中主要使用的是camelCase.
變量的命名也應該與類類型相似,
這里變量 payment_detailsList 的類型Student_payment_details會導致混淆,如果您希望 JSON 變量名稱不同,則可以使用 as
@JsonProperty("payment_detailsList")
private Student_payment_details student_payment_details;
添加回答
舉報