首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改进PATCHing单字段的最佳实践

改进PATCHing单字段的最佳实践
EN

Stack Overflow用户
提问于 2018-10-26 20:24:08
回答 1查看 861关注 0票数 1

在Retrofit中,用PATCH请求更新JSON资源的单个字段的最常见和最合适的方法是什么?

我看到了三种方法:

  1. 使用@Body发送完整对象,同时保留不应该更新为null的字段,因此GSON将删除它们: @修补程序(“Post /{id}”)调用patchPost(@Path("id") int id,@Body post);
  2. 使用@FormUrlEncoded,并且只传递应该更新的字段,例如使用@FieldMap。 @FormUrlEncoded@修补程序(“post/{ id }”)调用patchPost(@Path("id") int,@FieldMap Map字段);
  3. 定义一个只包含应该更新的字段的自定义模型类,因此我们不必将任何内容设置为null。 @patchPost(“post/{id}”)调用PostUpdate (@Path(“id”) int id,@Body postUpdate postUpdate);

我错过了其他的方式吗?哪一种最常用?

EN

回答 1

Stack Overflow用户

发布于 2018-10-26 20:47:07

我通常在RequestBody(Okhttp)中使用JSON。JSON对象只包含相关字段。然后我把它转换成RequestBody。如下所示:

代码语言:javascript
复制
@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()));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53015865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档