Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从swift调用基于servicestack的web api?_Swift_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack - Fatal编程技术网 servicestack,Swift,servicestack" /> servicestack,Swift,servicestack" />

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

如何从swift调用基于servicestack的web api?,swift,servicestack,Swift,servicestack,更新,在我像这样将IReturn添加到我的GetMember类之后 [Route("/member")] [Route("/member/{member_id}")] public class GetMember:IReturn<CommonResponse> { public int member_id { get; set; } } 这是我的swift密码 var client = JsonServiceClient(baseUrl: "http://localhost

更新,在我像这样将IReturn添加到我的GetMember类之后

[Route("/member")]
[Route("/member/{member_id}")]
public class GetMember:IReturn<CommonResponse>
{
    public int member_id { get; set; }
}
这是我的swift密码

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。基本上我读过这篇文章

我已经成功地从api生成了swift代码

但当我在iOS swift项目中写下这篇文章时

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?)的参数列表调用“get”


请帮助我是否
GetMember
请求数据在其上定义
IReturn
接口?如果没有,则需要在呼叫站点上指定,即:

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

好的,谢谢,它解决了我的问题。但新的开始了。我有这个。公共类GetMember:IReturn CommonResponse是我的类之一。它有两个属性。记录计数为Int,数据为object。现在我在swift中返回的响应只有recordcount,但缺少数据。@shawhu,请看,不要创建
对象
接口
属性。谢谢@mythz的回复。我明白了。我完全理解使用接口对DTO来说不是一个好主意,但就本例而言,我需要返回一个标准的返回格式(CommonResponse),并且我碰巧必须实现一个可以返回常规类型(作为对象)的属性。你推荐什么?正确的方法是什么?或者你是说这不是正确的方法,因为CommonResponse的想法不是一个好的实践,所以我应该为每个请求DTO定义单独的返回响应?@shawhu返回
对象
就是告诉服务的消费者他们无法预测服务返回的内容,因为响应完全没有定义这是服务的反模式,应该是自描述的。您可以将类型展平,使不同的类型适合同一个模式,或者我认为我得到了它。但我要说清楚。你的意思是,要么我们创建一个可以用于GetMember GetPayCheck GetMemberFriends的返回类型,我认为我们不能,要么我们可以创建一个具有很多属性的类型,每个请求类型一个属性?或者我们可以为每个请求的DTO创建单独的返回类型,我认为最后一个是正确的方法,对吗?
var response:GetMemberResponse = client.get(GetMember())