0

我正在为我的应用程序使用 Spark 框架。

我有一个中间件,它检查(除其他外)正文是否为 JSON 格式:

    // Middleware
    before((req, res) -> {
        // Method check
        if (!req.requestMethod().equals("POST")) {
            halt(403, "{\"result\":\"ERR\",\"errMsg\":\"Only POST allowed!\",\"code\":403}");
        }
        // JSON Check
        JSONObject body_json = new JSONObject();
        try {
            body_json = new JSONObject(req.body());
        } catch (JSONException e) {
            halt(403, "{\"result\":\"ERR\",\"errMsg\":\"No valid JSON!\",\"code\":403}");
        }
        // At this point (end of middleware) the request body is still unchanged !
    });

然后我有处理 POST 请求的正常功能:

post("/post_some_data", (req, res) -> {
     String body = req.body()           // This string is empty !!
     int length = req.contentLength();  // This remain unchanged       
});

但是请求正文突然变空(其他属性和标头保持不变)。

这是一个错误还是我做错了什么?

4

1 回答 1

1

spark 框架中存在错误。将库更新到 2.1 版本将解决这个问题以及所有类似的问题。

于 2014-12-27T13:03:23.560 回答