【问题标题】:How to read Apache Cocoon 2.1 handle Json request body如何阅读 Apache Cocoon 2.1 处理 Json 请求正文
【发布时间】:2017-08-02 13:04:31
【问题描述】:

如果请求是 url 编码的,我可以使用 xsp 或 xsl 获取请求参数对。但是当我发送 application/json 请求时,我无法读取请求正文。

Cocoon request API 不支持 getReader() 接口,因此将请求正文作为流读取也是不可能的。 我找到了一个 similar question ,答案提到了 text generator ,这就是 cocoon generator page 的意思?

The key request info I can get in cocoon is: 
Header information [name] : Content-Length
Header information [value] : 838
Header information [name] : Content-Type
Header information [value] : application/json

【问题讨论】:

    标签: json apache-cocoon


    【解决方案1】:

    哇,有人在使用 Cocoon 2.1!

    我通常不会在 SO 上寻找有关 Cocoon 的问题,只是偶然发现了这个。

    我希望我正确理解了您的问题。 如果仍然相关,这里有一些建议:

    您可以使用XSLT JSON parser 转换结果以从您的 JSON 中获取 XML。 在我的一个应用程序中,我有一个这样的管道:

          <!-- Retrieve a list of documents.
            Request parameters:
              start (optional): The index of the first document, default is 0.
              length (optional): The maximum number of results in the list, default is 100.
          -->
          <map:match pattern="doclist">
            <map:generate type="request"/>
            <map:transform src="xsl/request_to_doclist-query.xslt">
              <map:parameter name="default-start" value="0"/>
              <map:parameter name="default-length" value="100"/>
            </map:transform>
            <map:transform type="sparql"/>
            <map:transform src="xsl/json-parser.xslt"/>
            <map:serialize type="xml"/>
          </map:match>
    

    【讨论】:

    • 谢谢!这是非常聪明的解决方案!对我来说,最终我做了一个 xsp,基本上写了一些 Java 代码来处理请求。 ATM,我期待发布支持管道 REST 类型 API:s 的新茧版本。 :-)
    猜你喜欢
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多