响应对象中包含jersey对象的java JAXR
我目前正在使用基于jersey的jetty服务器和JAX-RS开发RESTAPI
我设法接收和发送任何类型的java对象作为响应,唯一的问题是当该对象包含一个或多个对象时。 例如:
public class Dummy {
private String msgType;
private String content;
private String receiver;
private Object prop;
public Dummy(){
}
/* Getters Setters/*
在这种情况下,我没有建立一个500的响应。如果我从类中删除对象,则通信成功
Service:
@POST
@Path("/cfp")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Response cfpmessage(@QueryParam("name") String name, String
jsonRequest){
Gson gson = new Gson();
CFPMessage cfp = gson.fromJson(jsonRequest, CFPMessage.class);
cfp.setReceiver("SolverAgent");
try {
JadeGateway.execute(cfp);
System.out.println("Price: " + cfp.getProp().getPrice());
} catch(Exception e) { e.printStackTrace(); }
ProposeMessage p = new ProposeMessage();
p.setMsgType(cfp.getMsgType());
p.setReceiver(cfp.getReceiver());
p.setProp(cfp.getProp()); // -> cfp.getProp() returns an object
return Response.ok(p).build();
在浏览器中,我发现以下错误,不知道下一步要看什么:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 500 Internal Server Error</title>
</head>
<body>
<h2>HTTP ERROR 500</h2>
<p>Problem accessing /api/comm/cfp. Reason:
<pre> Internal Server Error</pre>
</p>
<hr>
<i>
<small>Powered by Jetty://</small>
</i>
<hr/>
</body>
</html>
编辑:忘记提到内部对象实现了可序列化的ofc
任何帮助都将不胜感激
致意
共 (0) 个答案