2016-09-07 33 views
0

私は以前にvolleyで次の投稿リクエストを実装しましたが、今は改造のために使いたいと思います。 だから私の残りのWebサービスは、私は、次のjsonobjectAndroid Retrofit投稿の問題

JSONObject jsonObject = new JSONObject(); 
JSONObject searchCriteria = new JSONObject(); 
jsonObject.put("FullName", "frank jones"); 
jsonObject.put("DOB", "06-04-1978"); 
jsonObject.put("Age", "28"); 
jsonObject.put("Reason", "Search"); 
searchCriteria.put("searchCriteria", jsonObject); 

内を受け入れるWebサービスで呼び出される関数(人を)持って、次の www.blahblahblah.com/webservice.svc/

ですボレー私はwww.blahblahblah.com/webservice.svc/Person を呼び出し、上記のjsonオブジェクトを渡します。 が、私は同じロジックを使用していたレトロフィットのためにそう完璧

作品私のjsonobjectを作成し、要求 にそれを渡すので、私は同じURL www.blahblahblah.com/webservice.svc/を使用

私を作成します。ポスト

@POST("Person") 
Call<PersonResponseData> getPersonAccess(@Body Object body); 

ので、その後、私のコードは、応答

Retrofit retrofit = new Retrofit.Builder() 
      .baseUrl(urlSearch) 
      .addConverterFactory(GsonConverterFactory.create()) 
      .build(); 

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

    Call<PersonResponseData> personResponseDataCall =  service.getPersonAccess(searchCriteria); 

    personResponseDataCall.enqueue(new Callback<PersonResponseData>() { 
     @Override 
     public void onResponse(Response<PersonResponseData> response, Retrofit retrofit) { 
      int statuscode = response.code(); 
      PersonResponseData personResponseData = response.body(); 
     } 

     @Override 
     public void onFailure(Throwable t) { 

     } 
    }); 

を取得するには、私はちょうど404エラー、任意のアイデアを得ます。 私はこれが完全にボレーで動作すると言っていたが、私は改造の際に何か間違ったことをした。あなたの助け

答えて

0

ため

ありがとうございます、ここでこの質問linkを確認することができます唯一の推測するが、次の試してくださいますPOST request

0

で使用retrofit 2の説明です:

1)コールの宣言で、それを指定しますCall getPersonAccessではなく、Call<PersonResponseData> getPersonAccessである。
2)JSONオブジェクトの代わりにPOJOを作成し、オブジェクトをgetPersonAccess呼び出しに渡す代わりにボディとして使用します。

関連する問題