使用angularjs发送发布请求时获取代码400(错误请求)

时间:2018-08-29 15:13:23

标签: angularjs ajax rest jax-rs

我正在构建一个在客户端使用AngularJS在服务器端使用Java的应用程序。我正在尝试登录,但是当我使用AngularJS通过username请求发送数据(passwordPOST)时,我不断遇到这两个错误:

POST http://localhost:8008/WebProjekat/rest/auth/login 400 (Bad Request) 

  

可能未处理的拒绝:{“ data”:“无法从[来源:org.glassfish.jersey.message.internal.EntityInputStream@542ca5bc;第1行:START_OBJECT令牌中反序列化java.lang.String实例\ n ,列:2](通过参考链:MyResponsePackage.User [\“用户名\”])“,”状态“:400,”配置“:{”方法“:” POST“,” transformRequest“:[null], “ transformResponse”:[空],“ jsonpCallbackParam”:“回调”,“ url”:“ / WebProjekat / rest / auth / login”,“ data”:{“ username”:{“ ng339”:8},“ password “:{” ng339“:9}},”标题“:{” Accept“:”应用程序/ json,文本/纯文字, / “,”授权“:”基本“,”内容-类型“:” application / json; charset = utf-8“}},” statusText“:”错误请求“}

这是我的angularjs代码,它执行了rquest:

factory.Login = function(username, password, callback){
    $http.post('/WebProjekat/rest/auth/login', {username: username, 
    password: password})
    .then(function(response){
       callback(response);
   })
}

这是我的Java代码,用于检查凭据是否有效

@POST
@Path("/login")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public MyResponse login(User u) {
    String username = u.getUsername();
    String password = u.getPassword();
    MyResponse response = null;
    if(password.equals("test") && username.equals("test")) {
        response = new MyResponse(true, "Succes!");
    }else {
        response = new MyResponse(false, "Error");
    }
    return response;
}

这是我的User类

public class User {
    private String username;
    private String password;

    public User(String username, String password) {
        super();
        this.username = username;
        this.password = password;
    }


    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

对于在答案中是否存在类似问题,我深表歉意。我尝试寻找它,但无法解决我的问题。我希望这个问题很清楚,如果需要任何进一步的解释,我会提供。如果有人可以帮助我,我将非常感激。

0 个答案:

没有答案