>source

안드로이드 개조에서 멀티파트 요청으로 사용자 개체를 보내려고 합니다.

@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
    );

하지만 이 경우에는 본문 주석을 사용할 수 없습니다. 그래서 사용자 객체를 내가 보낼 수 있는 유형으로 변환하는 방법

  • 답변 # 1

    다중 업로드와 함께 JSON을 전송하는 경우 @Body가 아닌 다른 @Part.

    @Multipart를 사용할 때 본문이 멀티파트 요청 및 이에 기여할 수 있는 모든 것 본문은 @Parts입니다.

    @PartMap 사용 살펴보기

    Map<String, RequestBody> map= new HashMap<>();
    RequestBody userBody= RequestBody.create(
                    okhttp3.MediaType.parse("application/json; charset=utf-8"),
                    userJsonString);
    map.put("licenceFrontPicture", RequestBody body= RequestBody.create(MediaType.parse("text/plain"), value);
    map.put("userJSON", userBody);
    

    === 호출 끝점

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

  • 이전 rust : Sender와 Receiver를 모두 삭제하더라도 mpsc 채널에서 close를 호출해야 합니까?
  • 다음 typescript : IF 문에서 철저한 유형 검사