第三方服务堆栈客户端需要一个名为Public的参数

时间:2013-08-20 00:52:43

标签: rest servicestack reserved

我需要使用服务堆栈调用第三方rest api,这样可以正常工作。

但其中一个api需要一个名为“public”的属性

我是否可以指定一个属性,在类中为其指定另一个名称,但在调用服务时使用公共名称?

所以我在课堂上有这个定义

public string public { get; set; }

我得到的错误是

Member modifier 'public' must precede the member type and name

由于

1 个答案:

答案 0 :(得分:1)

好的,我找到了我需要的东西。

我尝试了ServiceStack.DataAnotations.Alias的Alias属性,但这没有做任何事情,我不确定它的用途是什么?

然后我发现需要添加对System.Runtime.Serialization的引用,并且还要使用

来装饰类
[System.Runtime.Serialization.DataContract]

现在每个公共属性都需要以下属性,否则它不会将参数传递给其余服务器。对于名为Public的属性,它在DataMember属性构造函数中指定名称。

[System.Runtime.Serialization.DataMember]

以下是一个例子

[System.Runtime.Serialization.DataContract]
public class RequestVoiceBaseSearch : VoiceBaseBaseClass, IReturn<ResponseVoiceBaseSearch>
{
    [System.Runtime.Serialization.DataMember]
    public string action { get; set; }
    [System.Runtime.Serialization.DataMember]
    public string terms { get; set; }
    [System.Runtime.Serialization.DataMember]
    public string from { get; set; }
    [System.Runtime.Serialization.DataMember]
    public string to { get; set; }
    [System.Runtime.Serialization.DataMember(Name = "Public")]
    public bool _public { get; set; }
    [System.Runtime.Serialization.DataMember]
    public string rank { get; set; }

    public RequestVoiceBaseSearch()
        : base()
    {
        this.action = "Search";
        this.terms = "";
    }
}

克里斯