Oracle ORDS REST模块处理器如何支持URL可选查询参数
Oracle ORDS Handler支持查询可选参数的配置方法
- 无需在URI模板中声明查询参数
ORDS原生支持searchParams格式的URL查询参数,不需要将?id=xx&department=xx这类参数提前写入URI模板,你可以按照业务需求正常编写路径模板即可,比如员工查询接口直接设置URI模板为/employees即可。 - 直接在Handler逻辑中引用查询参数
你在Handler的SQL/PL/SQL代码中,可以直接用绑定变量的形式引用查询参数,参数名和URL中的查询参数名保持一致即可。示例SQL如下:
SELECT * FROM employees WHERE id = NVL(:id, id) AND department = NVL(:department, department)
上述写法中NVL函数处理了参数可选的场景:如果请求没有传递对应的查询参数,该字段的过滤条件默认恒真,不会对结果集产生过滤效果。
- 可选:手动配置参数规则
如果需要给可选参数设置默认值、校验规则、参数类型约束,可以在Handler的参数配置页手动新增参数,参数来源选择QUERY,填写对应的参数名、类型、默认值即可。配置完成后ORDS会优先按照你设置的规则处理参数,无需在SQL中额外做判空处理。
注意:如果路径参数和查询参数出现同名,路径参数的优先级更高,绑定变量会优先读取路径参数的值。
内容的提问来源于stack exchange,提问作者David Min
相关产品推荐
相关产品推荐

