我必须以以下模型发送数据:
{
"TransactionType": "testType",
"TransactionReference": "testSectionReference",
"TransactionDate": "2018-10-22T06:22:30.632Z",
"TransactionLines": [
{
"ProductReference": "testProductReference",
"ShipDate": "2018-10-22T06:22:30.632Z",
"Quantity": 1,
"AwardAmount": 2.0,
"TotalAmount": 3.0
}
]
}
transactionBody为此,我创建了一个,在请求中将其作为正文发送,如下所示:
@POST("/myCustomUrlPath")
Call<Transaction> createTransaction(
@Body TransactionBody transactionBody
);
将TransactionBody具有以下参数:
交易类型 - String
交易参考 - String
交易日期 - String
交易线 - TransactionLines //(my custom model)
一切似乎都很好,直到我测试请求并看到我的TransactionLines模型的属性不是这样发送的:
"productReference":"testProductReference"
但相反,它们与我的 java 类路径一起发送,如下所示:
"model.transactionLines.productReference":"testProductReference"
这当然会使我的服务器返回错误,因为它在期待productReference而不是model.transactionLines.productReference. 如何在变量名之前删除我的java类模型的路径?
编辑:
我不认为我的问题与建议的可能已经提出的问题相近。他们要求在 json 中发布一个数组,而我在发布 json post 中使用的自定义对象中的变量名称时遇到了问题。
但是,@Jeel Vankhede 是对的。序列化变量的名称删除了我的 java 类的路径,现在请求填充了正确的数据。谢谢!
猛跑小猪
相关分类