我能够从我的角度控制器发送一个原始 json 对象,该对象在我的 web api 方法中反序列化为已知类型。这很棒,但我现在需要能够在同一请求中发送其他参数,这些参数可以是 json 对象或简单类型,如 string 或 int。
我看过类似的文章this这准确地描述了我的问题,但他们是从代码隐藏而不是客户端发送请求。
我尝试构建一个 json 数组并将其发送,但收到以下消息:“无法创建抽象类”.
控制器代码(改编)
var request = {
params:[]
};
request.params.push(jsonObjectA);
request.params.push({"someString" : "ABCDEF"});
$http({
method: 'POST',
url: targetUri,
data: request
})
Web API 方法签名
public JsonResult TestMethod(JArray request)
这种方法听起来合理吗?如果可以的话,我真的想避免为每个请求创建 dto 对象。
好的,通过以下方式使其正常工作本文.
然后我就可以在我的 api 方法签名中使用简单和复杂类型:
public JsonResult MyAction(StonglyTypedObject myObj, string description)
我正在传递数据参数中的值:
$http({
method: 'POST',
url: targetUri,
data: {
myObj: myObj,
description: "desc here"
}
}).success(...
这是我能找到的最干净的解决方案,希望它也对您有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)