在Retrofit中,用PATCH请求更新JSON资源的单个字段的最常见和最合适的方法是什么?
我看到了三种方法:
@Body发送完整对象,同时保留不应该更新为null的字段,因此GSON将删除它们:
@修补程序(“Post /{id}”)调用patchPost(@Path("id") int id,@Body post);@FormUrlEncoded,并且只传递应该更新的字段,例如使用@FieldMap。
@FormUrlEncoded@修补程序(“post/{ id }”)调用patchPost(@Path("id") int,@FieldMap Map字段);null。
@patchPost(“post/{id}”)调用PostUpdate (@Path(“id”) int id,@Body postUpdate postUpdate);我错过了其他的方式吗?哪一种最常用?
发布于 2018-10-26 20:47:07
我通常在RequestBody(Okhttp)中使用JSON。JSON对象只包含相关字段。然后我把它转换成RequestBody。如下所示:
@PATCH(RestConstants.POST_EMPTY)
Call<EmptyResponseModel> postEmpty(@Body RequestBody body);
MediaType MEDIA_TYPE_JSON = MediaType.parse("application/json; charset=utf-8");
RequestBody body = RequestBody.create(MEDIA_TYPE_JSON, json.toString()));https://stackoverflow.com/questions/53015865
复制相似问题