WebService中的FromBody

时间:2017-03-13 13:57:51

标签: c# web-services

我正在制作WebService(.asmx),我想在WebApi中使用像[FromBody]这样的某种属性。例如,我有网络服务方法:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)]
public virtual ServiceResponse GetTest(Test request){}

但是当我在json中发送请求时,它看起来像是:

{
  "request":
  {
  "parameter1" : "param1",
  "parameter2" : "param12",
  }
}

我希望json请求没有“请求”。但是当我删除它时,我得到异常:无效的Web服务调用,缺少参数值:'request'。  我如何在Web服务中实现这一目标?

1 个答案:

答案 0 :(得分:0)

以下是我如何能够做你想做的事情的一个例子:

[WebInvoke(Method = "POST",
           RequestFormat = WebMessageFormat.Json,
           ResponseFormat = WebMessageFormat.Json,
           UriTemplate = "save")]
public BaseResponse SaveSurvey(Survey survey) { ... }

然后以

的形式将数据读入Content-Type: application/json
{
  guid: #,
  name: "",
  ... 
}