错误:找不到翻新注释.(参数2) [英] Error: No Retrofit annotation found. (parameter #2)

查看:50
本文介绍了错误:找不到翻新注释.(参数2)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个界面:

public interface InterfazAguaHttp {

@FormUrlEncoded
@POST("/")
Call<String> saveContador(@Field("contador") Long contador, Callback<String> callBack);
}

其余的代码是这样的:

Retrofit builder = new Retrofit.Builder()
                            .baseUrl(ValoresGlobales.urlServlet)
                            .addConverterFactory(GsonConverterFactory.create())
                            .build();
                    InterfazAguaHttp interfaz = builder.create(InterfazAguaHttp.class);
                        Call<String> respuesta = interfaz.saveContador(93847597L, new Callback<String>() {
                            @Override
                            public void onResponse(Response<String> response, Retrofit retrofit) {
                                //Some logging
                            }

                            @Override
                            public void onFailure(Throwable t) {
                                //Some logging
                            }
                        });

这都在try-catch块中.在陷阱中,我收到此错误:

This is all inside a try-catch block. In the catch, I am receiving this error:

Error: No Retrofit annotation found. (parameter #2) for method InterfazAguaHttp.saveContador

如何摆脱这个错误,并且仍然可以进行回调?

How could I get rid of this error, and still have my callback?

谢谢.

推荐答案

将接口方法更改为此

public interface InterfazAguaHttp {

@FormUrlEncoded
@POST("/")
Call<String> saveContador(@Field("contador") Long contador);
}

以及其他类似的代码

Retrofit builder = new Retrofit.Builder()
                            .baseUrl(ValoresGlobales.urlServlet)
                            .addConverterFactory(GsonConverterFactory.create())
                            .build();
                    InterfazAguaHttp interfaz = builder.create(InterfazAguaHttp.class);
                        Call<String> respuesta = interfaz.saveContador(93847597L);
                        respuesta.enqueue(new Callback<String>() {
                            @Override
                            public void onResponse(Response<String> response, Retrofit retrofit) {
                                //Some logging
                            }

                            @Override
                            public void onFailure(Throwable t) {
                                //Some logging
                            }
                        });

查看全文

登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆