2
votes

Update, After I added IReturn to my GetMember Class like this

[Route("/member")]
[Route("/member/{member_id}")]
public class GetMember:IReturn<CommonResponse>
{
    public int member_id { get; set; }
}

I now can successfully build my swift code. But, the response seems to be missing some key property.

CommonResponse is defined as such

public class CommonResponse
{
    public int recordcount { get; set; }
    public object data { get; set; }

}

This is my swift code

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

And What I've got is this

{"recordcount":1}

Missing very important property: data

Please help again, thanks!!!

Below has been fixed by adding a IReturn to my DTO GetMember class

I've been reading and trying to call servicestack based API from swift. Basically I've read this post https://github.com/ServiceStack/ServiceStack/wiki/Swift-Add-ServiceStack-Reference

I've successfully generated swift codes from my api

But when I wrote this in my iOS swift project

let req = GetMember()
req.member_id = 3
var error : NSError?
var client = JsonServiceClient(baseUrl: "http://localhost/api/")
let response = client.get(req, error: &error)

I can't successfully build it. Error for the last line: Cannot invoke 'get' with an argument list of type '(GetMember,error:Inout NSError?)'

Please help me

1

1 Answers

1
votes

Does the GetMember Request DTO have an IReturn<T> interface defined on it? If not you'll need to specify it on the call-site, i.e:

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