在rest api调用中添加常量参数
本文关键字:添加 常量 参数 调用 rest api | 更新日期: 2023-09-27 18:25:51
我从客户端进行WCF RESTapi调用。为此,我使用了一个类型为WebChannelFactory<IRestApi>
的专用对象,其中IRestApi
是一个ServiceContract。
然后,我可以通过我使用的通道(由CreateChannel()
创建)调用IRestApi的方法。
我的问题是:我可以向这个通道添加常量参数(在我的情况下是版本号)吗?这样我就不必在每次调用中反复传递它了?
我不确定您的对象/接口是如何组合在一起的,也不清楚您希望如何将此版本发送到服务器。REST API版本的正常方法是将版本放入URI中,有点像example.com/service/v8/...
。
在这种情况下,也许您可以使用一个decorator对象来包装这个WebChannel
(我假设这是您将调用类似.get("/some/url")
的类型)。您的装饰器将能够"注入"额外的数据。
您调用decoratedObject.setURLPreFix("/some_serivce/v3")
,然后调用decoratedObject.get("/some/url")
,decorator函数将被实现,类似于。。。
class WebChannelDecorator{
WebChannel channel;
String urlPrefix = "";
WebChannelDecorator(WebChannel c){
channel = c;
}
/* methods you want to work just the same */
T foo(args){
return channel.foo(args);
}
/* methods you want to 'decorate' */
T get(String url){
return channel.get(urlPrefix + url);
}
void setURLPrefix(String prefix){
urlPrefix = prefix;
}
}
这可能实际上并不被称为装饰器模式,但重要的是理念,而不是你所说的