gpt4 book ai didi

java - 将 Json 对象从 AngularJs 发送到 java JAX-RS 服务

转载 作者:行者123 更新时间:2023-12-02 12:34:07 25 4
gpt4 key购买 nike

我在谷歌上搜索了这个问题几个小时,但仍然找不到解决方案。

这是我的java代码

  @POST
public String doLogin(User user) {
System.out.println(" = " + user.getUsername());
return "";
}

 @XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class User {
String username;

String 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;
}
}

这是我的 AngularJs 代码

 angular.module('notesApp', []).controller('MainCtrl', ['$http', function($http) {
var self = this;
self.submit = function() {
$http({
method: 'POST',
url: 'http://127.0.0.1:8080/Test/app/login',
headers : {'Content-Type': 'application/json'},
data: self.user //forms user object
})
.then(function(response) {
console.log(response.data);
return response.data;
}, function(response) {

});
}
}]);

我的错误消息是:SEVERE:Java 类实体.User、Java 类型类实体.User 和 MIME 媒体类型 application/json 的消息正文读取器;找不到 charset=UTF-8,因为我无法在 Java 代码中访问“用户”对象。

你能指出我哪一部分做错了吗?非常感谢。

最佳答案

您需要从POST正文中读取,而不是Query Params

你可以使用这个:

  @POST
public String doLogin( User user) {
System.out.println(" = " + user.getUsername());
return "";
}

@QueryParam 用于您将作为 ?user=xyz@gmail.com

传递的查询参数

关于java - 将 Json 对象从 AngularJs 发送到 java JAX-RS 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45213335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com