我的界面就像这样
@Headers("Content-Type: application/json")
@GET("/api/session/{id}")
void getSession(
@Path("id") String id, Callback<JsonObject> callback
);
但我不断得到,No retrofit annotation found.
当搜索到这个错误的原因时,最常见的答案是该请求期待 @Body 。但我不想让身体成为 url 的一部分。
我得到的例外
java.lang.IllegalArgumentException: AuthApi.getSession: No Retrofit annotation found.
(Parameter#1)
at retrofit.RestMethodInfo.methodError(RestMethodInfo.java:123)
at retrofit.RestMethodInfo.parameterError(RestMethodInfo.java:127)
at retrofit.RestMethodInfo.parseParameters(RestMethodInfo.java:450)
at retrofit.RestMethodInfo.init(RestMethodInfo.java:134)
at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:294)
at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278)
at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at retrofit.Platform$Android$2$1.run(Platform.java:142)
at java.lang.Thread.run(Thread.java:841)
END ERROR
答案 0 :(得分:4)
我使用SimpleXML Converter与Retrofit存在同样的问题。
问题是重要的,我有:
import org.simpleframework.xml.Path;
而不是:
import retrofit.http.Path;