我希望有人看到这一点,并知道该怎么做。我觉得我什么都试过了:(。为了提供一点背景知识,我正在尝试创建一个通用的rest端点来代理SOAP reporting service后端,并将查询字符串keyValues作为参数传递。
我开始使用上下文。要求原版,原版。查询是:
IReadOnlyDictionary<string, string[]>
并循环遍历键和值。这是我首选的方法,但我收到了错误:
液体语法错误:对象“[p\u customer\u name,System.String[]]”为
无效,因为它既不是内置类型也不是实现
可液化的
生成上述代码:
<v2:listOfParamNameValues>
{% for parameter in context.Request.OriginalUrl.Query %}
<v2:item><v2:name>{{parameter.Key}}</v2:name><v2:values>
{% for value in parameter.Value %}
<v2:item>{{value}}</v2:item>
{% endfor %}
</v2:values></v2:item>
{% endfor %}
</v2:listOfParamNameValues>
我放弃了这一点,开始自己解析查询字符串,以便继续,但使用
Split: &
或
Split: '&'
似乎忽略了&和
Split: '&'
导致错误:
一个或多个字段包含不正确的值:在
正在分析EntityName。第15行,位置123。
<v2:listOfParamNameValues>{% assign parts = context.Request.OriginalUrl.QueryString | Remove-First: '?' | Split:'&' -%}
{%- for part in parts -%}
{%- assign keyValues = part | Split:'=' -%}
{%- for keyValue in keyValues -%}
{{-keyValue[0]}}:{{keyValue[1]-}}
{%- endfor -%}
{%- endfor %}</v2:listOfParamNameValues>
我对任何想法都持开放态度,如果还有什么其他我可以补充的,请告诉我。
非常感谢。