Liferay - 如何在 "serveResource" 方法中检索 POST 请求的正文内容

Liferay - how to retrieve body content of POST request in "serveResource" method

我正在从我的 Angular 8 Liferay 7.3 Portlet 发出一个 POST 请求,并试图在 MVCResourceCommand [=26] 的 serveResource 方法中获取它的内容=].

前端JS看起来像这样:

submit() {
    let message = {
        type: "form",
        body: this.model
      };
    
    this.http.post<any>("http://my/url", message).subscribe(response => {
        console.log(JSON.stringify(response));
    })
  }

消息到达端点,后端已配置好。 基于 , and 我还设置了 "com.liferay.portlet.requires-namespaced-parameters=false" 属性 以便命名空间不是问题 - 所以,基本上,检查列表中的每个点都已完成并且请求正文应该可以访问. 到目前为止,我读到的每个 post 都在谈论使用 ParamUtil.getString(uploadRequest, "text"); 获取请求信息,但我不确定如果正文是 JSON 对象,这应该如何工作 - 我的意思是,应该如何如果 POST 正文如下所示,我会检索该值:

{
    "firstVal": "abc",
    "secondVal": "def",
    "another": {
        "objectVal1": 1,
        "objectVal2": 2
    }
}

多亏了this post,我才来到这段代码,它以字符串形式检索正文:

String body = PortalUtil.getHttpServletRequest(resourceRequest).getReader().lines()
                .collect(java.util.stream.Collectors.joining(System.lineSeparator()));

虽然我解决了我的问题,但我想知道是否有其他方法可以做到这一点。