如何 post 只是 Array in retrofit Body for Android

How to post just Array in retrofit Body for Android

在正文中,我只想发送一个 ArrayList,如下所示

["item1","item2"]

我的API电话如下

@POST("{userId}/items")
fun postUpdateItems(
    @Path ("registrationId") registrationId: String,
    @Header(NetworkUtils.CONTENT_TYPE) contentType: String = NetworkUtils.CONTENT_TYPE_PARAMS,
    @Body body: List<String>
): Observable<Response<UpdateItemsResponse>>

但是不行。我收到以下错误。我尝试了 ArrayList Array None 对我有用。

java.lang.IllegalArgumentException: Non-body HTTP method cannot contain @Body.

我发现了问题。这不是 "userId"。 userId 是一个 pathParam 并且应该在我们调用该方法时添加。问题出在处理程序上。我调用了错误的方法。

我也有 getUpdatedItems 并且在处理程序上我调用它而不是 postUpdateItems 方法。