Java 如何修复在android中发送多部分文件时出现的服务器错误500

Java 如何修复在android中发送多部分文件时出现的服务器错误500,java,android,jackson,retrofit2,Java,Android,Jackson,Retrofit2,我上传的文件使用改装,但有一个服务器错误时,张贴的数据文件 Post man请求正在上传文件,但当涉及到andoid时,它返回一个服务器错误500 这里是我上传文件的地方 克利恩塔皮酒店 @Multipart @POST("files/new") Call<ArchiverMainObject> addFile( @Header("Authorization") String token, @PartMap Map<String, Objec

我上传的文件使用改装,但有一个服务器错误时,张贴的数据文件

Post man请求正在上传文件,但当涉及到andoid时,它返回一个服务器错误500 这里是我上传文件的地方

克利恩塔皮酒店

 @Multipart
@POST("files/new")
Call<ArchiverMainObject> addFile(
        @Header("Authorization") String token,
        @PartMap Map<String, Object> newFile);

我通过编辑api接口方法来解决这个问题,方法是从映射中提取mutlipart

由此:

    @Multipart
    @POST("files/new")
    Call<ArchiverMainObject> addFile(
           @Header("Authorization") String token,
           @PartMap Map<String, Object> newFile);
@Multipart
@发布(“文件/新”)
调用addFile(
@标题(“授权”)字符串标记,
@零件图(新文件);
为此:

      @Multipart
      @POST("files/new")
     Call<ArchiverMainObject> addFile(
           @Header("Authorization") String token,
           @PartMap Map<String, Object> newFile,
           @Part MultipartBody.Part  file);
@Multipart
@发布(“文件/新”)
调用addFile(
@标题(“授权”)字符串标记,
@零件映射新文件,
@Part MultipartBody.Part文件);

500错误代码表示服务器对您的请求有问题,正在出错。至于它出错的原因,您在问题中给出了答案,因为您在请求中缺少映射中的变量
fileName
。或者服务器在定义为
fileName
的变量中出现错误。问题是,当我在邮递员上发布请求时,不需要使用fileName
  {"status":{"success":false,"message":"Undefined variable: 
  fileName","status_code":500},"debug":
    @Multipart
    @POST("files/new")
    Call<ArchiverMainObject> addFile(
           @Header("Authorization") String token,
           @PartMap Map<String, Object> newFile);
      @Multipart
      @POST("files/new")
     Call<ArchiverMainObject> addFile(
           @Header("Authorization") String token,
           @PartMap Map<String, Object> newFile,
           @Part MultipartBody.Part  file);