我一直在关注在线教程,并认真遵循以下代码作为API接口。我不断收到错误消息,例如非法的类型开头等等:
package com.gwiddle.airsoftcreations.airsoftapp;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface ApiInterface {
@GET("register.php")
Call<User> performRegistration(@Query("name") String Name,
@Query("user_name") String UserName, @Query("user_password") String UserPassword );
@GET("login.php")
Call<User>perfromUserLogin@Query("user_name") String Username,
@Query("user_password") String UserPassword)
}
请协助
答案 0 :(得分:0)
尝试更改此内容
@GET("login.php")
Call<User>perfromUserLogin@Query("user_name") String Username,
@Query("user_password") String UserPassword)
对此
@GET("login.php")
Call<User> perfromUserLogin(@Query("user_name") String Username,
@Query("user_password") String UserPassword);
答案 1 :(得分:0)
正如@Shadow Suave正确指出的那样,您为login
编写的呼叫中存在错误。当前是:
@GET("login.php")
Call<User>perfromUserLogin@Query("user_name") String Username,
@Query("user_password") String UserPassword)
您必须将该呼叫更改为:
@GET("login.php")
Call<User> perfromUserLogin(@Query("user_name") String Username,
@Query("user_password") String UserPassword);
我还认为这些方法应该register
和login
用户使用指定的服务,因此它们应该是POST方法,因为GET请求方法在这里没有任何意义,因此您应该也检查一下。另外,尽管您现在正在学习教程,但出于将来的目的,您应该知道您永远不应传递用户名和密码作为查询参数。因为查询参数可以显示在网络服务器日志或历史记录中,所以可以获取更多信息see this。