C# REST服务如何为参数传递JSON

C# REST服务如何为参数传递JSON,c#,asp.net,rest,wcf-rest,C#,Asp.net,Rest,Wcf Rest,我创建了一个WCF REST API: [OperationContract] [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json, UriTemplate = "/checkEmail")] R

我创建了一个WCF REST API:

[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json,  
           BodyStyle = WebMessageBodyStyle.WrappedRequest,
           ResponseFormat = WebMessageFormat.Json, UriTemplate = "/checkEmail")]
RestResponse<bool> checkEmail(string EmailId);
它正在按预期工作。但是在一些代码检查更改之后,我将param in方法更改为

checkEmail(string emailId);
i、 e.将其改为驼色箱。如何修改代码以使用相同的JSON请求,即API调用应保持不变

{ "EmailId" :"youremail@yahoo.com" }

这可能对你有用。它在我做的一个有限的测试中起作用。我创建了一个具有两个属性的类:

[DataContract]
public class EmailParms
{
    [DataMember]
    [JsonProperty(DefaultValueHandling=DefaultValueHandling.IgnoreAndPopulate)]
    public virtual string EmailId { get; set; }
    [DataMember]
    [JsonProperty(DefaultValueHandling=DefaultValueHandling.IgnoreAndPopulate)]
    public virtual string emailId { get; set; }
}
JsonPropertyAttribute
是的一部分

然后您将您的
检查电子邮件更改为:

RestResponse<bool> checkEmail(Emailparms emailParms);

看起来你不可能做到这一点,不破坏你的
运营合同
,但我很好奇别人会怎么说。是的,弗兰克,我想是索坦克斯·弗兰克。成功了。而且,你解释得很清楚。我在这么一小段内容丰富的文章里学到了一些东西
RestResponse<bool> checkEmail(Emailparms emailParms);
{ "EmailId" :"youremail@yahoo.com" }
{ "emailId" :"youremail@yahoo.com" }
{ "EmailId" :"youremail@yahoo.com", "emailId" :"youremail@yahoo.com" }