用于调用REST服务的JSon格式

时间:2012-11-16 10:54:18

标签: json wcf rest

我有一个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中写什么?

1 个答案:

答案 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会更加惯用,因为你必须更新一个方法,但这是另一个讨论。)

希望这有帮助!