C# REST服务如何为参数传递JSON
我创建了一个WCF REST API: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
[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" }