retrofit Post服务端接受不到参数

  @POST("/index.php?m=User&c=Public&a=login")
    Call<Login> login(@Query("password") String password, @Query("uname") String uname);
private static final Retrofit retrofit = new Retrofit.Builder()
        .baseUrl(BASEURL)
        .addConverterFactory(GsonConverterFactory.create())
        .build();
        
        
         public static void login(String uname, String password) {
    ApiManage.create(ApiService.class).login(uname, password).enqueue(new Callback<Login>() {
        @Override
        public void onResponse(Call<Login> call, Response<Login> response) {
            Log.d("====", response.body().getInfo());

        }

        @Override
        public void onFailure(Call<Login> call, Throwable t) {

        }
    });
}
        
阅读 8.2k
1 个回答

表单提交不能使用@Query注解,要使用@Field。

@FormUrlEncoded
@POST("/index.php?m=User&c=Public&a=login")
Call<Login> login(@Field("password") String password, @Field("uname") String uname);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题