我是 retrofit 2 库的新手。我阅读了几篇文章作为初学者开始使用,并且我设法在不指定参数的情况下从我的 RESTful API 获取 XML 数据。在我生成 XML 资源的方法中,如下所示。
@GET
@Path("/foods")
@Produces(MediaType.APPLICATION_XML)
public List<FoodPyramid> getFoodPyramid() {
Session session = HibernateUtil.getSessionFactory().openSession();
trans = session.beginTransaction();
List<FoodPyramid> foodList = session.createQuery("from FoodPyramid").list();
try {
trans.commit();
session.close();
} catch (Exception e) {
session.close();
System.err.println("Food Pyramid fetch " + e);
}
System.err.println("Am in the food modal. . . . . . . .");
return foodList;
}
现在当我试图在界面中传递参数时
@GET("user/{username}/{password}")
Call<List<UserCredentail>> getUserOuth(@Query("username") String username, @Query("password") String password);
它运行失败,客户端未收到任何数据。我花了一个星期的时间尝试通过使用非参数调用获取资源来修复它;所以试图将其更改为:
@GET("user/{username}/{password}")
Call<List<UserCredentail>> getUserOuth(@Path("username") String username, @Path("password") String password);
它工作正常。所以我的问题是:我什么时候需要使用 @Query
和 @Path
Annotation in retrofit 2?
原文由 Mwesigye John Bosco 发布,翻译遵循 CC BY-SA 4.0 许可协议
考虑这是网址:
www.app.net/api/searchtypes/862189/filters?Type=6&SearchText=School
现在这是调用:
所以我们有:
之后的事情 ? 通常是查询。