使用Retrofit修补 - 仅限ID属性

时间:2015-02-25 09:46:09

标签: android json orm retrofit

我正在我的应用程序中使用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
    }]

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

对于那些看起来我实现了一个自定义Gson序列化程序,它只输出ID而不是整个Fruit对象。这篇文章真的很有帮助,特别是对于底层:

http://www.javacreed.com/gson-serialiser-example/