1
我正在嘗試撥打第三方網絡服務ServiceStack - 撥打第三方網絡服務
他們的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
我想你也許可以塑造這個爲你工作。我的理解是,JsonServiceClient旨在使連接到其他ServiceStack服務變得容易。它通過使用ServiceStack約定(因此它連接到/ json/syncreply/...)執行此操作。您正嘗試使用它連接到第三方api。 AFAIK這不是該課程的設計目的。我認爲你最好是寫自己的班級來管理與第三方API的連接(除非他們有自己的班級)。我可能是錯的 - 但它看起來非常適合ServiceStack。 – gregpakes