【发布时间】:2011-05-26 11:10:51
【问题描述】:
我有一个休息客户端,它试图调用http://my-server/section1/section2?param1=foo
http://my-server/section1/section2?param1=foo http://my-server/sectionX/sectionY?param2=bar http://my-server/sectionA/sectionC?param3=kuku
注意查询参数键名发生变化(param1、param2、param3...)
我执行的合约是
[WebGet(UriTemplate = "")]
[OperationContract]
Message MyMethod();
但是,这将导致调用的实际 uri 为: http://my-server/section1/section2/?param1=foo
请注意,在 section2 和 ? 之间添加了一个斜杠
有人知道如何预防吗?
大卫
PS 请注意 1)将最后一段+参数作为MyMethod参数的技巧(以及UriTemplate =“/ {lastSegment}的使用)将导致问号(?)被解码...... 这将破坏呼叫请求 2) 完全删除 UriTemplate 将导致方法名成为 uri 的一部分...
【问题讨论】:
标签: wcf rest dynamic client parameter-passing