2016-08-10 5 views
1

私はretrofit2とrxjavaを使って新しいです、私はapiから情報を取得するためにGETを使用することができましたが、今はPOSTを使ってログイン要求がうまく動作しません。retrofit 2投稿rxjava(ログイン)

Application application = Application.get(mLoginView.getContext()); 
     Service Service = application.getmService(); 
     Log.i(TAG,""+username); 
     Log.i(TAG,""+password); 
     mSubscription = Service.login(username,password) 
       .observeOn(AndroidSchedulers.mainThread()) 
       .subscribeOn(Schedulers.io()) 
       .subscribe(new Subscriber<User>() { 


        @Override 
        public void onCompleted() { 
         Log.i(TAG,"User: " + mUser.getHash()); 
        } 

        @Override 
        public void onError(Throwable e) { 
         e.printStackTrace(); 
         Log.i(TAG,"USERNAME DON'T EXIST"); 
        } 

        @Override 
        public void onNext(User user) { 

         // LoginPresenter.this.mUser = user; 
        } 
       }); 

サービス:

public interface Service { 

String mUrl = "https://blabla.com/api/index.php/"; // TODO Change 

@FormUrlEncoded 
@POST("user/login") 
Observable<User> login(@Field(value="email",encoded=true) String email, @Field(value="password",encoded = true) String password); 

私は、ユーザー名とPOSTを入力して、既存のユーザーから渡すと私の404ページを返すと、ハッシュイムが得ることになっていません。

は、私は、これはここにあった忘れてしまったあなたに

+0

URLは間違いありませんか? – Seishin

+0

はい、コード内のURLはサンプルですが、コード内のURLが正しいことを確信しています –

+0

'username'と' pass'はあなたのプログラムによってurlencodedされていますか? – nshmura

答えて

0

をありがとう、私は、ソリューションの数ヶ月前に発見し、私がやったことは身体の要求と応答を取得するためのオブジェクトを行うには、オブジェクトUserCredentialsを作成しました。

@POST("user/login") 
Observable<LoginResponse> login(@Body UserCredentials userCredentials); 
関連する問題