Android 使用改型发布Hashmap

Android 使用改型发布Hashmap,android,web-services,retrofit2,Android,Web Services,Retrofit2,我正在尝试使用改进版发布HashMap。我知道在stack overflow中有关于同一主题的问题,但似乎没有什么能帮助我 这里是mt接口 @POST("/" + AppConstants.DIR + "/" + AppConstants.response) Call<CommonSuccMsgBean> postResponse(@Body HashMap<String,String> hashMap); @POST(“/”+AppConstants.DIR+“/”+

我正在尝试使用改进版发布HashMap。我知道在stack overflow中有关于同一主题的问题,但似乎没有什么能帮助我

这里是mt接口

@POST("/" + AppConstants.DIR + "/" + AppConstants.response)
Call<CommonSuccMsgBean> postResponse(@Body HashMap<String,String> hashMap);
@POST(“/”+AppConstants.DIR+“/”+AppConstants.response)
调用后响应(@Body HashMap HashMap);
下面是我的方法调用:

public void postResponse(final Context context, HashMap hashMap) {

    try {
        final ProgressDialog pLoading = new ProgressDialog(this);
        pLoading.show();
        pLoading.setTitle("Loading...");
        Call<CommonSuccMsgBean> call = Utilities.getInstance().initializeWebServiceCall(context).postResponse(hashMap);

        call.enqueue(new Callback<CommonSuccMsgBean>()
        {
            @Override
            public void onResponse(Response<CommonSuccMsgBean> response, Retrofit retrofit) {

                System.out.println("succedded");
                CommonSuccMsgBean succMsgBean = response.body();
                /*if (succMsgBean.getSucc().equals("1")){
                    Toast.makeText(MerchantActivity.this,"success",Toast.LENGTH_SHORT).show();
                }*/

                pLoading.dismiss();

            }

            @Override
            public void onFailure(Throwable t) {
                pLoading.dismiss();
                Toast.makeText(context, t.getLocalizedMessage(), Toast.LENGTH_LONG).show();

            }
        });


    } catch (Exception e) {
        e.printStackTrace();
    }
}
public void postResponse(最终上下文上下文,HashMap HashMap){
试一试{
final ProgressDialog pLoading=新建ProgressDialog(此);
pLoading.show();
pLoading.setTitle(“加载…”);
Call Call=Utilities.getInstance().initializeWebServiceCall(上下文).postResponse(hashMap);
call.enqueue(新回调()
{
@凌驾
公共响应(响应、改装){
System.out.println(“成功”);
CommonSuccMsgBean-succMsgBean=response.body();
/*如果(succMsgBean.getsuch().equals(“1”)){
Toast.makeText(merchanctivity.this,“success”,Toast.LENGTH_SHORT.show();
}*/
扑通一声。解散();
}
@凌驾
失效时的公共无效(可丢弃的t){
扑通一声。解散();
Toast.makeText(context,t.getLocalizedMessage(),Toast.LENGTH_LONG.show();
}
});
}捕获(例外e){
e、 printStackTrace();
}
}
我试着在这里给出答案:

由于hashmap中的字段数量可以变化,我不想像这样使用它

  public interface SafeUserApi {
@FormUrlEncoded
@POST("/api/userlogin")
void getUserLogin(@Field("client_id")String  id,@Field("client_secret")String  secret,@Field("username")String  uname,@Field("password")String  password, Callback<LoginResult> cb);
公共接口SafeUserApi{
@FormUrlEncoded
@POST(“/api/userlogin”)
void getUserLogin(@Field(“client_id”)字符串id、@Field(“client_secret”)字符串secret、@Field(“username”)字符串uname、@Field(“password”)字符串password、回调cb);
}

当我使用POSTMAN进行检查时,Web服务运行良好,但当我从应用程序调用它时,它会给出一些页面来源作为响应。
那么,有没有任何方法可以将整个hashmap作为一个整体传递?我做错了什么? 谢谢:)