Mik*_*ike 2 c# asp.net json asp.net-web-api angularjs
我可以从我的角度控制器发送一个原始的json对象,在我的web api方法中将其反序列化为已知类型.这很好但我现在需要能够在同一个请求中发送其他参数,这些参数可以是json对象或简单类型,如string或int.
我已经看到了诸如文章这其中确切地描述我的问题,但他们是从发送代码隐藏他们的要求,而不是客户端.
我试图构造一个json数组并发送它,但我收到以下消息:'无法创建一个抽象类'.
控制器代码(改编)
var request = {
params:[]
};
request.params.push(jsonObjectA);
request.params.push({"someString" : "ABCDEF"});
$http({
method: 'POST',
url: targetUri,
data: request
})
Run Code Online (Sandbox Code Playgroud)
Web API方法签名
public JsonResult TestMethod(JArray request)
Run Code Online (Sandbox Code Playgroud)
这种方法听起来合情合理吗?我真的想避免为每个请求创建dto对象,如果可以的话.
通过阅读本文,确保设法使其正常运行.
然后我能够在我的api方法签名中使用简单和复杂的类型:
public JsonResult MyAction(StonglyTypedObject myObj, string description)
Run Code Online (Sandbox Code Playgroud)
我传入data参数中的值:
$http({
method: 'POST',
url: targetUri,
data: {
myObj: myObj,
description: "desc here"
}
}).success(...
Run Code Online (Sandbox Code Playgroud)
这是我能找到的最干净的解决方案,希望它对你也有帮助.
| 归档时间: |
|
| 查看次数: |
10320 次 |
| 最近记录: |