当前位置: 首页 > 知识库问答 >
问题:

在android改版中使用mutlipart注释时如何发送对象

韦安怡
2023-03-14

我试图发送一个用户对象在一个多部分请求在android改型

@Multipart
    @POST("drivers")
    Call<JSONObject> addANewUser(
            @Body User user,
            @Part("licenceFrontPicture") RequestBody licenceFrontPicture,
            @Part("licenceBackPicture") RequestBody licenceBackPicture,
            @Part("idCardFrontPicture") RequestBody idCardFrontPicture,
            @Part("idCardBackPicture") RequestBody idCardBackPicture
    );

但是在这种情况下我不能使用body注释,所以如何将用户对象转换为我可以发送的类型

共有1个答案

姜旭
2023-03-14

如果您在多上传中发送JSON,那么它应该是另一个@part而不是@body。

当您使用@multipart时,您将指定主体是一个多部分请求,因此所有可用于该主体的都是@parts。

研究使用@PartMap

@Multipart
@POST("drivers")
Call<Response> uploadMultiPart(@Path("id") int userId, @PartMap Map<String, RequestBody> params);

 RequestBody userBody = RequestBody.create(
                okhttp3.MediaType.parse("application/json; charset=utf-8"), 
                userJsonString);


Map<String, RequestBody> map = new HashMap<>();
map.put("licenceFrontPicture", RequestBody body = RequestBody.create(MediaType.parse("text/plain"), value);
map.put("userJSON", userBody);
 类似资料:
  • 我试图实现这样的东西 但我不知道这是否可行有人能帮我谢谢你

  • 我正试图用android应用程序向我的web服务器发送一个Json对象。我发现的每个示例都使用了被android 6删除的HttpClient。有人能给我举一个HttpURLConnection方法的例子吗。

  • 我开发android应用程序,经常使用注释作为编译时参数检查,大多是Android的支持注释。 java代码中的示例: 我不想使用枚举,因为它们在Android中存在性能问题。自动转换器到 kotlin 只会生成无效代码。如何在 kotlin 中使用注释?

  • 问题内容: 我想发送以下JSON文本 到Web服务并读取响应。我知道如何读取JSON。问题是上述JSON对象必须以变量名发送。 我该如何从android做到这一点?创建请求对象,设置内容标头等步骤是什么。 问题答案: Android没有用于发送和接收HTTP的特殊代码,您可以使用标准Java代码。我建议使用Android随附的Apache HTTP客户端。这是我用来发送HTTP POST的代码片段

  • 问题内容: 我没有用Java 获得注释。如果它自动为您继承方法,那么如果我需要以自己的方式实现该方法,那又如何呢? 怎么知道我的实现方式? 另外,据说如果我不想使用它,而是以一种老式的Java方式执行它,则必须实现类的,和方法以及类的注释类型方法。 这是为什么? 即使我不知道注释和以前运行良好的程序,我也从未实现过。 请有人从头开始向我解释一下。 问题答案: 只是没有误会:您确实要询问java.l