2
更新,我添加IReturn我GetMember類這樣如何從swift調用基於servicestack的web api?
[Route("/member")]
[Route("/member/{member_id}")]
public class GetMember:IReturn<CommonResponse>
{
public int member_id { get; set; }
}
後,我現在可以成功建立我的SWIFT代碼。但是,答覆似乎缺少一些關鍵性質。
CommonResponse被定義爲這樣
public class CommonResponse
{
public int recordcount { get; set; }
public object data { get; set; }
}
這是我的SWIFT代碼
var client = JsonServiceClient(baseUrl: "http://localhost/api/")
let response:CommonResponse = client.get(req, error: &error)!
println(response.toJson())
什麼,我所得到的是這種
{"recordcount":1}
缺少非常重要的特性:數據
請再次幫助,謝謝!
下面已定通過添加IReturn到我的DTO GetMember類
我一直在讀書,並努力從迅速調用基於servicestack API。基本上我讀過這篇文章https://github.com/ServiceStack/ServiceStack/wiki/Swift-Add-ServiceStack-Reference
我已經成功地從我的API
迅速生成的代碼但是,當我寫這在我的iOS迅速的項目
let req = GetMember()
req.member_id = 3
var error : NSError?
var client = JsonServiceClient(baseUrl: "http://localhost/api/")
let response = client.get(req, error: &error)
我不能成功建立它。錯誤最後一行:不能與類型的參數列表調用「得到」「(GetMember,錯誤:INOUT NSError)」
請幫我
好的,謝謝,它解決了我的問題。但新的來了。我有這個。公共類GetMember:IReturn CommonResponse是我的一個類。它有2個屬性。 RecordCount作爲Int和Data作爲對象。現在我在swift中返回的響應只有recordcount但缺少Data。 –
shawhu
@shawhu請參閱[Swift限制](https://github.com/ServiceStack/ServiceStack/wiki/Swift-Add-ServiceStack-Reference#swift-native-types-limitations),不要創建'object'或'接口「屬性。 – mythz
感謝您的回覆@mythz。我明白了。我完全理解使用接口對於DTO來說不是一個好主意,但僅僅爲了這種情況,我需要返回一個標準返回格式(CommonResponse),而且碰巧必須實現一個可以返回一般類型的屬性(作爲對象)。你有什麼建議?什麼是正確的方法來做到這一點?或者你是否認爲這不是一種正確的方法,因爲CommonResponse的想法不是一種好的做法,所以我應該爲每個請求DTO定義單獨的返回響應? – shawhu