Json 在RESTful wcf服务中调用post方法

Json 在RESTful wcf服务中调用post方法,json,post,get,wcf-rest,Json,Post,Get,Wcf Rest,我正在做一个GET方法,用link调用它,一切都正常。 这是: [OperationContract] [WebInvoke( Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "/myMethod/{input}", BodyStyl

我正在做一个GET方法,用link调用它,一切都正常。 这是:

    [OperationContract]
    [WebInvoke(
        Method = "GET",
        RequestFormat = WebMessageFormat.Json,
        ResponseFormat = WebMessageFormat.Json,
        UriTemplate = "/myMethod/{input}",
        BodyStyle = WebMessageBodyStyle.Bare
        )]
    MyClass myMethod(string input);
下面是我调用它的url:

然而,当我制作post方法时,它不起作用。以下是我的发帖方法:

    [OperationContract]
    [WebInvoke(
        Method = "POST",
        ResponseFormat = WebMessageFormat.Json,
        RequestFormat = WebMessageFormat.Json,
        BodyStyle = WebMessageBodyStyle.Bare
        )]
    MyClass anotherMethod(string comeOn);
我用这个链接称之为: 它说这种方法是不允许的


如何调用POST方法?

这里有一个指向MSDN的链接,介绍如何使用REST web服务


好的,因此POST和GET之间的区别在于GET在查询字符串上有所有参数,而POST在请求的消息体中有参数

您的第二个调用实际上是执行GET,因此它不允许该方法

可以在这里找到测试post的方法


这是一个重复的问题吗@TomislavMarkovski不,我只是问url。如果你问url,你就得到了方法。您不能通过请求URL来发布。您需要为此提供一个UI。你可以为此制作一个web表单或一个客户端应用程序。аа,ааааааааааааааааааааа。如果您使用QS上的所有参数发出请求,那么它将是一个GET。HTTP方法对于良好的restful设计非常重要。对于POST,因为参数在方法体中,所以可以发送到服务的内容限制要高得多。这就是oyu的意思吗?@rangitaz但是如果POST方法的参数在代码中,这意味着用户不能输入它们,对吗?这意味着每个需要用户输入的方法都是GET。那么用户是如何调用这些方法的呢?如果用户通过浏览器或其他方式发出请求,那么是的,这将是一个GET。如果他们在客户机上填写表单,并且客户机通过服务发布数据,那么它可以是一个POST。下面是JQuery客户端发布数据的示例