Nginx clojure Java处理程序

Nginx clojure Java处理程序,nginx,Nginx,我试图在我的nginxjava处理程序中捕获请求主体,因为某种原因,我得到了一个空指针异常。如何在java处理程序中捕获主体 public Object[] invoke(Map<String, Object> request) { InputStream is = (InputStream) request.get(Constants.BODY); String abc = getIdFromBody(is) if(abc !=nul

我试图在我的nginxjava处理程序中捕获请求主体,因为某种原因,我得到了一个空指针异常。如何在java处理程序中捕获主体

public Object[] invoke(Map<String, Object> request) {
        InputStream is = (InputStream) request.get(Constants.BODY);
        String abc = getIdFromBody(is)
        if(abc !=null)
         {  return Constants.PHASE_DONE;}
   }



private String getIdFromBody(InputStream is) {
        ObjectNode node;
        String text = null ;
        try {
             text = IOUtils.toString(is, StandardCharsets.UTF_8.name());
            logger.info("requestPayload={}", text);
          
         }

         catch (IOException e) {
            e.printStackTrace();
        }

        logger.info("didnt get entity_id ", text);
         return text;
    }
public对象[]调用(映射请求){
InputStream为=(InputStream)request.get(Constants.BODY);
字符串abc=getIdFromBody(is)
如果(abc!=null)
{返回常量。阶段_完成;}
}
私有字符串getIdFromBody(InputStream为){
对象节点;
字符串文本=空;
试一试{
text=IOUtils.toString(is,StandardCharsets.UTF_8.name());
info(“requestPayload={}”,text);
}
捕获(IOE异常){
e、 printStackTrace();
}
logger.info(“未获取实体id”,文本);
返回文本;
}

您似乎使用了内容处理程序,因此必须返回正常响应而不是常量。阶段\u完成

Constants.PHASE_DONE用于非内容处理程序,例如标头筛选器、正文筛选器、访问处理程序、重写处理程序