如何从swift调用基于servicestack的web api?

时间:2015-08-13 15:01:01

标签: swift servicestack

更新,我将IReturn添加到我的GetMember类之后

[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; }

}

这是我的快捷代码

var client = JsonServiceClient(baseUrl: "http://localhost/api/")
let response:CommonResponse = client.get(req, error: &error)!
println(response.toJson())

我得到的是这个

{"recordcount":1}

缺少非常重要的属性:数据

请再次帮助,谢谢!

通过向我的DTO GetMember课程添加IReturn

修复了以下问题

我一直在阅读并尝试从swift调用基于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)

我无法成功构建它。最后一行出错:无法调用&#39; get&#39;使用类型&#39;的参数列表(GetMember,错误:Inout NSError?)&#39;

请帮帮我

1 个答案:

答案 0 :(得分:1)

GetMember请求DTO是否定义了IReturn<T>接口?如果不是,您需要在呼叫站点上指定它,即:

var response:GetMemberResponse = client.get(GetMember())