作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
实际上我正在尝试调用一个Api,其结构如下:
@POST("book/block-date-time")
Call<BlockBookingResponse> requestBlock(@Body long catId, TextView fromDate, TextView fromTime, TextView toDate, TextView toTime);
在我的 OfferFragment.java 类中,我提出了如下请求:
RetroFitFactory.getRetrofitCallFor(RedeemService.class)
.requestBlock(catId, fromDate, fromTime, toDate, toTime)//this line throws the exception
.enqueue(new Callback<BlockBookingResponse>() {
@Override
public void onResponse(@NonNull Call<BlockBookingResponse> call, @NonNull Response<BlockBookingResponse> response) {
if (response.isSuccessful() && response.body() != null) {
progressDialog1.dismiss();
Toast.makeText(getContext(), response.body().getMessage(), Toast.LENGTH_SHORT).show();
startActivity(new Intent(getContext(), BlockList.class));
} else {
progressDialog1.dismiss();
Toast.makeText(getContext(), "Fail to block", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(@NonNull Call<BlockBookingResponse> call, @NonNull Throwable t) {
Toast.makeText(getContext(), "Network Error...", Toast.LENGTH_SHORT).show();
}
});
并解决这个异常I follow this link
但没有正确理解它,我尝试了一切(就像我使用了不同的注释,如 @Body、@field 等),但它仍然抛出此异常:
java.lang.IllegalArgumentException: No Retrofit annotation found. (parameter #2)
有关如何解决此问题的任何帮助。非常有帮助
最佳答案
不要使用 TextView 作为改造 API 的参数,因为 TextView 是 android 对象,不会发送到服务器。相反,提取 TextView 值并发送该值。当然,您必须添加其他注释,以便 Retrofit 知道如何将值发送为
关于java - 得到此异常 : java. lang.IllegalArgumentException : No Retrofit annotation found. (参数 #2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61739440/
我是一名优秀的程序员,十分优秀!