首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用电子邮件和密码更新登录

用电子邮件和密码更新登录
EN

Stack Overflow用户
提问于 2016-08-23 11:55:35
回答 2查看 3.3K关注 0票数 0

我在登录上有麻烦。我从网上试了几个例子,但对我没什么用。

JSON

代码语言:javascript
运行
复制
{
    "responseCode":1,
    "responseCodeText":"ok",
    "response":
    {
        "id":1234,
        "email":"test@test.cz",
        "name":"name",
        "lastname":"lastname",
        "properties":[
            //...
        ],
        "rights":"admin",
        "photo":"url",
        "favorites":
        [
            //...
        ],
        "token":"token"
    }
}

我已经从创建了类,所以应该可以。

接口

代码语言:javascript
运行
复制
public interface LoginInterface {

    @POST("login/{email}/{password}")
    Call<UserResponse> login(@Path("email") String email, @Path("password") String password);
}

调用活动

代码语言:javascript
运行
复制
public void serviceInit() {
        String email = edEmail.getText().toString();
        String password = edPassword.getText().toString();

        FactoryAPI.getInstanceLogin().login(email, password).enqueue(new Callback<UserResponse>() {
            @Override
            public void onResponse(Call<UserResponse> call, Response<UserResponse> response) {
                if(response.isSuccessful()) {
                    Intent intent = new Intent(getContext(), AccountActivity.class);
                    startActivity(intent);
                }
                //TODO: load from sharedPreferences
            }

            @Override
            public void onFailure(Call<UserResponse> call, Throwable t) {
                Log.e("error", "points not loaded");
            }
        });
    }

错误,我有错误

responseCodeText:“属性错误”

我收到服务器的请求。我的电子邮件和密码在GET,而不是在邮政

谢谢你的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-23 13:13:34

问题在于:

代码语言:javascript
运行
复制
@FormUrlEncoded
@POST("login")
Call<UserResponse> login(@Field("email") String email, @Field("password") String password);
票数 0
EN

Stack Overflow用户

发布于 2016-08-23 12:26:36

json将映射到的响应类必须具有与json相同的确切结构和属性。

因此,您的UserResponse应该包括all字段。就像这样:

代码语言:javascript
运行
复制
public class UserResponseDTO {
  public int responseCode;
  public String responseCodeText;
  public UserDTO response;
}

public class UserDTO {
  public int id;
  public String email;
  public String name;
  public String lastname;
  public List<PropertyDTO> properties;
  public String rights;
  public String photo;
  public List<FavoriteDTO> favorites;
  public String token;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39100498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档