2016-06-07 6 views
1

Ich verwende Retrofit 2.0, um einen Nachrüstservice für das Hochladen von Dateien auf dem Server zu erstellen.Wert fehlt, obwohl Nachrüstung erforderlich 2.0

Ich beziehe mich https://futurestud.io/blog/retrofit-2-how-to-upload-files-to-server

Unten ist mein FileUploadService Code:

interface TripHistoryFileUploadService { 
@Multipart 
@POST("trip/trip-history") 
Call<ResponseBody> upload(@Part("json_file") RequestBody description, 
          @Part MultipartBody.Part file); 

}

I unten Retrofit-Version verwenden:

compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4' 

Aber ich bin immer Fehler Wert fehlt, obwohl erforderlich wie unten:

enter image description here

Kann jeder ein Gesicht gleiche Problem oder irgendeine Lösung für das gleiche Produkt?

+1

Werfen Sie einen Blick hier haben [http://stackoverflow.com/a/37571549/4199996](http: //stackoverflow.com/a/37571549/4199996) und kompilieren Sie 2.0.2 statt –

Antwort

4

Beta-Version ist eine frühe Version eines Programms oder einer Anwendung, die die meisten Hauptfunktionen enthält, aber noch nicht abgeschlossen ist.

sollten Sie Stable verwenden

compile 'com.squareup.retrofit2:retrofit:2.0.2' //A type-safe HTTP client 

Dann Clean -Rebuild-Sync Ihre IDE .Hope dies hilft Ihnen.

+1

Danke. Es hat mein Problem gelöst. – pRaNaY

+1

@pRaNaY Freut mich zu hören. –

1

Sie fehlen Teilnamen das zweite Argument

interface TripHistoryFileUploadService { 
    @Multipart 
    @POST("trip/trip-history") 
    Call<ResponseBody> upload(@Part("json_file") RequestBody description, 
          @Part("part_name_missing here") MultipartBody.Part file); 
    } 
    } 
0

ich in einer ähnlichen Situation war und es stellt sich heraus triviale Sache zu sein - ich habe importiert Teil von der ersten Version von Retrofit statt Sekunde. So zumindest Sie tun können, ist tu überprüfen, ob Sie

import retrofit.http.Part; -> requires value 

statt

import retrofit2.http.Part; -> doesn't required value