我正在尝试拨打第三方网络服务
他们的REST API使用以下URL样式。
http://www.VoiceBase.com/services?version=1.0&apikey=your-apikey&password=secret&action=list&status=processing
他们所有的服务电话都转到同一个/服务
如何创建一个类,以便以下方法有效?
var client = new JsonServiceClient("http://www.voicebase.com");
var response = client.Get<ResponseVoiceBaseListClass>(new VoiceBaseListClass());
我创建的其他课程但我还没有完成
public class VoiceBaseBaseClass
{
public string version { get; set; }
public string apikey { get; set; }
public string password { get; set; }
public VoiceBaseBaseClass()
{
this.version = "1.0";
this.apikey = "API";
this.password = "password";
}
}
public class VoiceBaseListClass : VoiceBaseBaseClass, IReturn<ResponseVoiceBaseListClass>
{
public string action { get; set; }
public string status { get; set; }
public VoiceBaseListClass()
: base()
{
this.action = "list";
this.status = "processing";
}
}
public class ResponseVoiceBaseListClass
{
public string requestStatus { get; set; }
public string statusMessage { get; set; }
public string fileStatus { get; set; }
public List<string> mediaIds { get; set; }
public ResponseVoiceBaseListClass()
{
this.mediaIds = new List<string>();
}
}
使用上述类进入服务器的调用是
/json/syncreply/VoiceBaseListClass?action=list&status=processing&version=1.0&apikey=API&Password=password
有没有办法可以强制服务堆栈客户端转到
/Services
而不是
/json/syncreply/VoiceBaseListClass
答案 0 :(得分:1)
我找到了一种方法,这对我来说非常有用。
[RestService("/services", "GET")]
public class VoiceBaseListClass : VoiceBaseBaseClass, IReturn<ResponseVoiceBaseListClass>
{
}
虽然这是一个不推荐使用的属性 - 新属性称为Route
https://github.com/ServiceStack/ServiceStack/wiki/Release-Notes
克里斯