【发布时间】:2014-06-23 13:37:01
【问题描述】:
我有一个带有 WCF 的 RESTful 服务。它有一个带有方法的接口
[OperationContract]
[WebInvoke(Method = "GET", UriTemplate = "AddBook/{bookName}", BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json)]
void AddBook(string bookName);
我的服务 localhost:1234/MService/AddBook/abcd-book 正在工作。但是,如果我将 GET 更改为 POST,它会说方法不允许。我想,插入应该是 POST 但它不起作用。上面的代码是我错了还是做错了什么?
问候
【问题讨论】:
-
你的方法只允许根据属性获取。 'WebInvoke(Method = "GET"'
-
但是如果我将 GET 更改为 POST 并尝试从 URL 添加书籍,它会说方法不允许。
-
像这样删除它们:WebInvoke(UriTemplate = "AddBook/{bookName}", BodyStyle = WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Json)
-
try to add book from URL是什么意思?您是否在浏览器窗口中键入 URL?您如何创建 POST 请求? -
是的,在浏览器中输入 URL 默认会发送 GET 请求。要发送 POST 请求,请创建 HTML 表单或使用 Fiddler 等工具。