C# WebService中的FromBody
我正在制作WebService(.asmx),我想在WebApi中使用某种属性,比如[FromBody]。例如,我有web服务方法:C# WebService中的FromBody,c#,web-services,C#,Web Services,我正在制作WebService(.asmx),我想在WebApi中使用某种属性,比如[FromBody]。例如,我有web服务方法: [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)] public virtual ServiceResponse GetTest(Test request){} 但是当我用json发送请求时,它看起来是这样的: { "request":
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)]
public virtual ServiceResponse GetTest(Test request){}
但是当我用json发送请求时,它看起来是这样的:
{
"request":
{
"parameter1" : "param1",
"parameter2" : "param12",
}
}
我希望json请求不包含“request”。但当我删除它时,会出现异常:无效的web服务调用,缺少参数值:“request”。
如何在Web服务中实现这一点?下面是一个示例,说明了我是如何做到您正在尝试做的事情的:
[WebInvoke(Method = "POST",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "save")]
public BaseResponse SaveSurvey(Survey survey) { ... }
然后,它以内容类型:application/json
的形式读入数据
{
guid: #,
name: "",
...
}
哦,等等,我现在明白你的问题了。您最好使用
[WebInfoke(Method=“POST”,…
,然后它将直接在主体中加载对象。感谢您的响应,但它不起作用。您将其作为{“parameter1”:“param1”,“parameter2”:“param2”}
发送,或者您如何发送它?我想像您的评论一样发送它,而不需要“请求”,但它不断抛出异常。