我是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);
而且效果很好。所以我的问题是:何时需要在翻新2中使用@Query
和@Path
注释?