QueryString通常允许名称/值对,其中相同的名称可能出现多次。在使用WCF-WebHttp和BtsHttpUrlMapping来校准REST服务时,它从属性架构进行映射,该属性架构不允许重复元素,并且使url映射不允许多次添加同一参数。
我需要添加一个参数数组,例如:/ query?param1 = x&param1 = y等。
我被迫使用动态端口并在业务流程中设置url吗?任何其他建议或示例都将非常适合。
答案 0 :(得分:0)
如果它是固定数量的重复变量,则只需将它们映射到名称为非重复变量的模式即可。
例如
<value>xvalue</value>
<value>yvalue</value>
映射到
<x>xvalue</x>
<y>yvalue</y>
URL映射
/query?param1={x}&param1={y}
如果它是一个变量,但元素的最大数量固定,则使用上面的方法,同时设置BTS.Operation属性并具有
<BtsHttpUrlMapping>
<Operation Name='Retrieve1' Method = 'GET' Url='/query?param1={x}'
<Operation Name='Retrieve2' Method = 'GET' Url='/query?param1={x}&param1={y}' />
<Operation Name='Retrieve3' Method = 'GET' Url='/query?param1={x}&param1={y}&param1={z}' />
...
</BtsHttpUrlMapping>