有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

响应对象中包含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) 个答案