我正在我的应用程序中使用Retrofit,它可以很好地管理API调用,并根据需要支持GET和PATCH。
给出以下JSON:
"fruit_set": [
{
"id": 2,
"fruit": {
"id": 1,
"name": "Apple",
"desc": ""
},
"source": 2,
"inventory": 8.0
},
{
"id": 6,
"fruit": {
"id": 2,
"name": "Mango",
"desc": "delicious"
},
"source": 2,
"inventory": 15.0
}]
忽略名称一分钟。
我已经使用所需的getter / setter为FruitSet和Fruit设置了一个PoJo。 FruitSet.Fruit被定义为List,并且通过GET调用很好地填充。我的问题是PATCH。
此实例中的Fruit是引用数据,因此我只需要在将Fruit.id分配给FruitSet PoJo时插入它。
我可以指示Retrofit它不需要编写Fruit但只需要将Fruit.id写入数据库表。我希望Retrofit能做到这一点足够聪明吗?
基本上我在PATCH时需要这个JSON结构:
"fruit_set": [
{
"id": 2,
"fruit": 1,
"source": 2,
"inventory": 8.0
},
{
"id": 6,
"fruit": 2,
"source": 2,
"inventory": 15.0
}]
有什么想法吗?
答案 0 :(得分:2)
对于那些看起来我实现了一个自定义Gson序列化程序,它只输出ID而不是整个Fruit对象。这篇文章真的很有帮助,特别是对于底层: