我有一个wcf REST服务,它调用一个更新数据库中某些东西的方法。该方法采用参数。
让我说我是void MarkMobileAppApplicationAsCancelled(string applicationId);
现在我尝试使用名为CREST的Chrome应用商店中的一个应用来调用该服务。但我不知道如何以Json格式调用该方法。
任何帮助??
我有一些像
这样的东西[OperationContract]
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "/MarkMobileAppApplicationAsConfirmed/")]
void MarkMobileAppApplicationAsConfirmed(string applicationId);
我正在尝试初始化此方法,该方法将通过设置应用程序的application_confirmed = true来更新我的数据库,
我在Request Builder中写了以下内容
https://local.blaSys.com/MobileAppWCF.svc/MarkMobileAppApplicationAsCancelled/
以及标题中的以下内容
content-type:application/json
现在,我会在Request Entity中写什么?
答案 0 :(得分:1)
您很可能不想在请求中写任何内容,而是从网址获取applicationID
。
您可以通过稍加修改
来获得此功能 [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "/MarkMobileAppApplicationAsConfirmed/{applicationID}")]
void MarkMobileAppApplicationAsConfirmed(string applicationId);
现在,您可以在针对端点的代理中简单地生成标准的http请求(使用curl / fiddler进行测试和WebClient / WebRequest)
https://local.blaSys.com/MobileAppWCF.svc/MarkMobileAppApplicationAsCancelled/someApplicationId
请记住,请求的方法必须为POST
,如WebInvoke
属性所示。 (我猜一个PUT
会更加惯用,因为你必须更新一个方法,但这是另一个讨论。)
希望这有帮助!