2017-01-12 52 views
-1

我想發送BANKNAME和BRANCHNAME到URL改造@post參數應用

公共接口MInterface { @GET( 「/ API/getbank/{銀行名稱}/{分支名}」)

void getUser(@Path("bankname") String bankname,@Path("branchname") String branchname, Callback<Pojo> uscb); 

}

RestAdapter radapter =新RestAdapter.Builder()對setEndpoint(URL).build();

MInterface restInt=radapter.create(MInterface.class); 

    String bankname="Yes bank"; 
    String branchname="ASSOCIATE COOP BANK UMARWADA"; 
    restInt.getUser(bankname ,branchname ,new Callback<Pojo>() { 
     @Override 
     public void success(Pojo model, Response response) { 


      Data data =model.getData(); 
      String IFSC=data.getIFSC(); 
      Log.d("IFSCHandler","onBankSelected:::"+IFSC); 


     Toast.makeText(MainActivity.this,IFSC, Toast.LENGTH_LONG).show(); 


     } 
     @Override 
     public void failure(RetrofitError error) { 

      String err = error.getMessage(); 
     } 
    }); 
+0

什麼是你所得到的錯誤,指定它。而且你不能通過使用GET發送數據,你必須使用POST –

+0

能夠通過在這個http://api.techm.co.in/api/listbranches/{bank名稱中傳遞銀行名稱來檢索分支列表,現在我想要爲此http://api.techm.co.in/api/getbank/{bank名稱}/{分行名稱}傳遞銀行名稱和分行名稱 –

回答

0

使用這個,如果你必須使用@GET

void getUser(@Query("bankname") String bankname,@Query("branchname") String branchname , Callback<Pojo> uscb); 

,如果你要使用@POST然後 ,你必須使用@FormUrlEncoded這個 無效的getUser(@Field(「BANKNAME 「)String bankname,@ Field(」branchname「)String branchname,Callback uscb);

0

我希望這能幫到你。

public interface Interface { 

//This method is used for "POST" 
@FormUrlEncoded 
@POST("/api.php") 
Call<ServerResponse> post(
     @Field("bankname") String bankName, 
     @Field("branchname") String branchName 
); 

//This method is used for "GET" 
@GET("/api.php") 
Call<ServerResponse> get(
     @Query("bankname") String bankName, 
     @Query("branchname") String branchName 
); 
} 


public void getBankDetails(String bankName, String branchName){ 
    //Here a logging interceptor is created 
    HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); 
    logging.setLevel(HttpLoggingInterceptor.Level.BODY); 

    //The logging interceptor will be added to the http client 
    OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); 
    httpClient.addInterceptor(logging); 

    //The Retrofit builder will have the client attached, in order to get connection logs 
    Retrofit retrofit = new Retrofit.Builder() 
      .client(httpClient.build()) 
      .addConverterFactory(GsonConverterFactory.create()) 
      .baseUrl(SERVER_URL) 
      .build(); 

    Interface service = retrofit.create(Interface.class); 

    Call<ServerResponse> call = service.get(bankName,branchName); 

    call.enqueue(new Callback<ServerResponse>() { 
     @Override 
     public void onResponse(Call<ServerResponse> call, Response<ServerResponse> response) { 
      BusProvider.getInstance().post(new ServerEvent(response.body())); 
      Log.e(TAG,"Success"); 
     } 

     @Override 
     public void onFailure(Call<ServerResponse> call, Throwable t) { 
      // handle execution failures like no internet connectivity 
      BusProvider.getInstance().post(new ErrorEvent(-2,t.getMessage())); 
     } 
    }); 
} 

感謝