带有@GET restful 注释的 Stackoverflow 错误
Stackoverflow error with @GET restful annotation
所以我尝试返回多种类型的变量,包括User、List和Response。所有这些都会在获取路径页面中返回一个 Whosebug 错误。我通过服务器日志发现它是一个序列化递归,但是无论我如何尝试,我似乎都无法修复它。在 Whosebug 上看到多个在线 tutorials/pages,但我仍然可以修复它。
我是运行 payara version 184 和java 8 ee,这些是项目规范,所以我不能更改技术。 Intellij Idea Ultimate IDE 和 chrome browser/postman 检查 url。
public class User {
private String nome;
private int idade;
private String empresa;
private String email;
//private Boolean auth;
public User (String n , int i, String e, String em/*, Boolean a*/){
this.nome = n;
this.idade = i;
this. empresa = e;
this.email = em;
//this.auth = a;
}
public User getUser(){
return this;
}
restful class 方法的接口
@GET
@Path(ApplicationPaths.GET)
@Produces(MediaType.APPLICATION_JSON)
@APIResponse(responseCode = "200")
User getJson(
@Parameter(ref = Parameters.QUERY)
@QueryParam(Parameters.QUERY)
String query);
实际class实施
@ApplicationScoped
public class KickoffApiImpl implements KickoffApi {
@Inject
private KickoffService kickoffService;
@Override
public User getJson(final String query) {
/*
List<User> users = new ArrayList<>();
users.add(new User("pedro", 22, "ctw", "pelan05@gmail.com"));
users.add(new User("paulo", 50, "ctw", "123abc@gmail.com"));
users.add(new User("maria", 32, "ctw", "abc123@gmail.com"));
return users.get(1);
*/
User u = new User("maria", 32, "ctw", "abc123@gmail.com");
return u;
//return Response.ok(kickoffService.getUser()).build();
}
我的预期输出将是一个 Json 页面,其中包含浏览器上的 'User' class 信息。
P.S.: 服务器日志错误:
https://pastebin.com/xgRfazE9
好吧,有趣的是我通过查看 post 解决了我自己的问题。所以递归是由于我在Userclass中实现的getUser方法。 TY 如果您尝试阅读并解决这个问题。
所以我尝试返回多种类型的变量,包括User、List和Response。所有这些都会在获取路径页面中返回一个 Whosebug 错误。我通过服务器日志发现它是一个序列化递归,但是无论我如何尝试,我似乎都无法修复它。在 Whosebug 上看到多个在线 tutorials/pages,但我仍然可以修复它。
我是运行 payara version 184 和java 8 ee,这些是项目规范,所以我不能更改技术。 Intellij Idea Ultimate IDE 和 chrome browser/postman 检查 url。
public class User {
private String nome;
private int idade;
private String empresa;
private String email;
//private Boolean auth;
public User (String n , int i, String e, String em/*, Boolean a*/){
this.nome = n;
this.idade = i;
this. empresa = e;
this.email = em;
//this.auth = a;
}
public User getUser(){
return this;
}
restful class 方法的接口
@GET
@Path(ApplicationPaths.GET)
@Produces(MediaType.APPLICATION_JSON)
@APIResponse(responseCode = "200")
User getJson(
@Parameter(ref = Parameters.QUERY)
@QueryParam(Parameters.QUERY)
String query);
实际class实施
@ApplicationScoped
public class KickoffApiImpl implements KickoffApi {
@Inject
private KickoffService kickoffService;
@Override
public User getJson(final String query) {
/*
List<User> users = new ArrayList<>();
users.add(new User("pedro", 22, "ctw", "pelan05@gmail.com"));
users.add(new User("paulo", 50, "ctw", "123abc@gmail.com"));
users.add(new User("maria", 32, "ctw", "abc123@gmail.com"));
return users.get(1);
*/
User u = new User("maria", 32, "ctw", "abc123@gmail.com");
return u;
//return Response.ok(kickoffService.getUser()).build();
}
我的预期输出将是一个 Json 页面,其中包含浏览器上的 'User' class 信息。
P.S.: 服务器日志错误: https://pastebin.com/xgRfazE9
好吧,有趣的是我通过查看 post 解决了我自己的问题。所以递归是由于我在Userclass中实现的getUser方法。 TY 如果您尝试阅读并解决这个问题。