是否可以在同一方法中同时使用 GET 和 POST?

Art*_*rti 5 c# rest wcf

我想知道,在 wcf 休息服务中是否可以以相同的方法同时使用 HTTP POST 和 HTTP Get?我的意思是说客户端页面可以使用 post 或 get 来调用我的方法。

我的客户希望我以这种方式实现一个方法。

由于我们的 API 是“RESTful”服务,因此我们应该能够通过此方法使用 GET 和 POST。该参数可以放置在 GET 请求的 URL 中,也可以放置在 GET 请求的 Header 部分中。使用带有此方法的 HTTP POST 时,参数可以存储在标头部分或正文中。

是否可以?

Fai*_*her 3

让我们通过编写代码来实现吧!假设你有一个方法!

[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "Leads",
ResponseFormat = WebMessageFormat.Xml,
RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare)]
[WebGet(UriTemplate="/Leads")]
Result AddLeads(ReqLead[] rl); // This is our method.
Run Code Online (Sandbox Code Playgroud)

当您运行服务时,它将成功编译并运行,浏览器将向您显示一个页面。

服务

现在绿色箭头指向的是我的服务名称。通过点击它,您将重定向到一个错误页面,它会让您清楚地了解想法!请参见下图。

错误

我希望它能给你一个想法。而且!在您中,[OperationContract]您将仅定义一种方法类型,无论是GET还是POST。你不能两者兼得。

谢谢