如何读取客户端使用Spark发送的数据?

use*_*816 4 javascript jquery httprequest spark-java

我必须使用Spark(Java框架)读取客户端发送的一些数据.

这是客户的帖子请求代码.我正在使用jQuery.

$.post("/insertElement", 
{item:item.value, value: value.value, dimension: dimension.value });
Run Code Online (Sandbox Code Playgroud)

服务器代码:

post(new Route("/insertElement") {
        @Override
        public Object handle(Request request, Response response) {
            String item = (String) request.attribute("item");
            String value = (String) request.attribute("value");
            String dimension = (String) request.attribute("dimension");
            Element e = new Element(item, value, dimension);
            ElementDAO edao = new ElementDAO();
            edao.insert(e);
            JSONObject json = JSONObject.fromObject( e );
            return json; 
        }
    });
Run Code Online (Sandbox Code Playgroud)

我正在使用Spark,所以我只需要定义路线.我想在数据库中存储客户端发送的数据,但所有属性都为null.

我认为这种方式不正确.如何读取发送的数据?

mth*_*ers 7

他们使用HTTP发送您的数据,POST您将JSON作为请求主体发布,而不是作为请求属性发布.这意味着您不应该使用request.attribute("item")和其他人,而是将请求主体解析为Java对象.您可以使用该对象来创建element和存储它DAO.