是否有办法(除了替换)将带有特殊字符的值传递给xsodata InputParameters?
我试图提出如下请求: ../ ODATA_SEARCH.xsodata / InputParams(IP_TERM ='的 O'尼尔&#39)?/结果$格式= JSON
但收到错误: {"错误":{"代码":"","消息":{" lang":&# 34; en-US"," value":"位置66的资源路径中的语法错误。"}}}
当我使用引号加倍时: ODATA_SEARCH.xsodata / InputParams(IP_TERM ='的 O'' NEAL &#39)?/结果$格式= JSON
收到错误:
{"错误":{"代码":"","消息":{" lang" :" zh-CN","值":"服务异常:[2048]列存储错误"}}}
但是,当我直接通过sql脚本或"数据预览"。
调用视图时,加倍工作。答案 0 :(得分:0)
网址中的特殊字符可以(有时必须)像%20这样进行%编码。但是对于ODATA URI中的单引号(%27
),这将不起作用:
...ms(IP_TERM='O%27Neal')/Results?$for...
仍会产生语法错误。
相反,ODATA URI中的单引号只需将它们加倍即可转义。像这样使用它:
...ms(IP_TERM='O''Neal')/Results?$for...
答案 1 :(得分:0)
我们决定将参数作为base64字符串传递,然后在视图中对其进行解码: BASE64_DECODE(:IP_TERM)