在Retrofit Android中发布方法

时间:2015-11-17 08:06:08

标签: android post retrofit

我有一个post api来获取一些细节。我正在传递像这样的参数

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

        GitHubService github = retrofit.create(GitHubService.class);

        Map<String, String> params;
        Params.setAppContext(getApplicationContext());
        params = Params.postCommuteParams(AppUtil.getAuthToken(MainActivity.this), android.os.Build.VERSION.RELEASE, "");


        Log.d("retrofit param", ""+params.toString());

        Call<CommuteResultVO> call1 = github.callCommute(params);
        call1.enqueue(new Callback<CommuteResultVO>() {
            @Override
            public void onResponse(Response<CommuteResultVO> response, Retrofit retrofit) {
                int statusCode = response.code();
                CommuteResultVO user = response.body();
                Log.d("retrofit", ""+statusCode+"  );
            }

            @Override
            public void onFailure(Throwable t) {
                // Log error here since request failed
                Log.d("retrofit", "failed");
            }
        });

    }

改装参数的日志给出了所有参数。 Log.d(“retrofit param”,“”+ params.toString());

params正在工作,因为这个api调用完全与凌空一起工作。

这就是我在GitHubService类中编写post调用的方法

@FormUrlEncoded
    @POST("/commutes/availability?")
    Call<CommuteResultVO> callCommute(@FieldMap Map<String, String> parameters);

但我在回复中获得了404的statusCode

0 个答案:

没有答案