Actualización - Solicitud multiparte: el parámetro requerido 'Archivo' multiparte no está presente

Estoy tratando de enviar archivos en el servidor usando Retrofit2. Hago todo de acuerdo con la documentación, pero siempre obtengo un error de servidor 400.

Estoy intentando hacer esto:

RequestBody body =
                RequestBody.create(MediaType.parse("image/png"), photo);
    //..........

    @Multipart
    @POST(ADD_PHOTO)
    Observable<HPSPhotoResponse>
    addPhoto(@Part("file") RequestBody file);

... y así:

MultipartBody.Part part = MultipartBody.Part.createFormData("file", "file", body);
     //...........

    @Multipart
    @POST(ADD_PHOTO)
    Observable<HPSPhotoResponse>
    addPhoto(@Part("file") MultipartBody.Part files);

no importa El resultado es siempre el mismo "Solicitud multiparte: el parámetro obligatorio MultipartFile 'file' no está presente" - respuesta del servidor.

¡Pensaría que Spring en el servidor no funciona bien, pero hago el código equivalente en Swift (iOS) y funciona! Aquí el servidor ve esta parte de 'archivo'.

Alamofire.upload(method, endpoint, headers: headers,
            multipartFormData: { multipartFormData in
                multipartFormData.appendBodyPart(fileURL: self.filePath!, name: "file")
            }

Ahora quiero que funcione en Android con Retrofit. Pero incluso busco en los registros de solicitudes de modificación y, de hecho, no veo ningún texto de "archivo" en los registros.

¿Qué está mal con eso?

Respuestas a la pregunta(2)

Su respuesta a la pregunta