有没有更好的方法来优化代码,从请求体中取出一个值,数据进来,格式为 json

Is there a better way to Optimize code that takes one value out of a Request body, the data comes in, in json format

我有一个包含大量数据的请求对象。但是我的代码中有一个过滤器,我只需要取出一个元素。目前我正在反序列化整个对象,只获取一个元素似乎有点过分了

这是 zuul 过滤器的一部分

import com.netflix.zuul.context.RequestContext;
       RequestContext ct = RequestContext.getCurrentContext();
       HttpServletRequest request = ctx.getRequest();
       ObjectMapper mapper = new ObjectMapper();
       ServletInputStream stream = null;
       try {
            stream = request.getInputStream();
            GetPageRequest page = mapper.readValue(stream,GetPageRequest.class);
            log.info("URL IN BODY "+page.getUrl());
        

反序列化整个对象以获取一个元素似乎太过分了,但我想不出更有效和优化的方法

最简单的请求负载可以只是一个字符串,这样您就可以将输入读取为一个字符串,然后使用正则表达式或 indexOf 或任何最适合的方式解析您想要的内容?

谢谢大家。我创建了这个方法。将输入流流式传输到字符串中创建了一个 JSONObject,它接收并标记字符串


 private String getURLFromRequest(ServletInputStream stream) throws IOException, JSONException {
        String requestStr = IOUtils.toString(stream, "UTF-8");
        JSONObject jsonObj = new JSONObject(requestStr);
        return (String) jsonObj.get("url");
    }