代码之家  ›  专栏  ›  技术社区  ›  Ludovic Kuty

带原始正文的HTTP POST请求到PL/SQL网关?

  •  1
  • Ludovic Kuty  · 技术社区  · 7 年前

    我使用的是Oracle数据库12.2和ORD18.3。是否可以使用原始主体(没有参数)发出HTTP POST请求 application/x-www-form-urlencoded multipart/form-data )对于ORDS,要知道ORDS只用于其PL/SQL网关部分,而不是REST数据服务部分。

    在这个场景中,处于独立模式(使用Jetty)的ORDS是HTTP服务器。发出请求的HTTP客户机是一些外部程序(Postman、Java等)。

    其思想是发送JSON数据,但它可以是二进制数据,如图像或其他内容。

    看起来PL/SQL网关“只能”调用使用参数的过程(或者根本没有参数,当然也没有主体)。我能够用一个多部分形式的伪参数发出请求,并以某种方式模拟我想要的(用 VARCHAR2 ,不是 CLOB 也不是 BLOB

    1 回复  |  直到 7 年前
        1
  •  2
  •   Ludovic Kuty    7 年前

    回答我自己的问题是不可能的。我们必须使用参数和MIME类型 application/x-www-form-urlencoded multipart/form-data ).

        2
  •  0
  •   Nate Karasch    6 年前

    有几个 ORDS-specific bind variables (implicit parameters)

    • :body 将返回一个BLOB。这可以用于任何东西,包括图像
    • :body_text 将返回CLOB。这对于JSON、XML或您指定的其他MIME类型等文本体非常有用( application/x-www-form-urlencoded multipart/form-data

    :正文 或 一旦 在PL/SQL块中(如 this documentation ),因此在使用它之前,可能需要将它赋给局部变量。