自定义Retrofit转换器来嵌套JSON

时间:2016-10-24 20:00:15

标签: android retrofit2 moshi

我有一个POJO,它在字符串变量中包含一个身份验证令牌。我需要使用以下模板将其发送到我的API:

{ “auth” : { api_key”:”XXXX” } }

我使用moshi将我的POJO转换为JSON,返回

{"api-key":"XXXX"}

如何使用改装转换器在我当前的外部添加额外的支架?

2 个答案:

答案 0 :(得分:0)

我认为您应该使用oAuth身份验证。然后,您可以使用interceptor进行Retrofit并填充该令牌。

答案 1 :(得分:0)

您可以使用Moshi-Lazy-Adapters来包装json。发送正文时只需使用以下注释:

@POST("your_post_url") 
Call<YourResponseTypeHere> sendApiKey(@Body @Wrapped({"auth", "api_key"}) String apiKey);

库的适配器将完成剩下的工作。而且您不需要声明额外的对象。