我目前正在使用基于jersey的jetty服务器和JAX-RS开发REST API。
我设法接收并发送任何类型的java对象,唯一的问题是当该对象包含一个以上的对象时。 例如:
SimpleMessageListenerContainer
在这种情况下,没有建立响应,我最终得到500.如果我从类中删除对象,则通信成功。
public class Dummy {
private String msgType;
private String content;
private String receiver;
private Object prop;
public Dummy(){
}
/* Getters Setters/*
在浏览器中,我收到以下错误,无法找到下一步的位置:
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();
编辑:忘记提及内部对象实现了可序列化的ofc。
任何帮助将不胜感激!
最好的问候