我的要求是在角$ http服务中传递多个类对象(将使用请求参数映射或在rest控制器中请求正文)。
我无法在请求体中传递类对象,因为一个http调用只有一个请求体。
当我试图在$ http param中传递类对象时,我遇到了类转换异常。
有没有办法在单个$ http调用中传递多个对象?
@RequestMapping(value = "CommitObject", method = RequestMethod.POST)
public void Commit(@RequestParam(value = "clazz") final String clazz,
@RequestParam(value = "Id") final String modelId,@RequestBody LinkedHashMap<String, Object> obj) {
mService.Commit(Id,clazz workingmodelObj);
}
答案 0 :(得分:3)
我尝试了很多次但总是失败。为了克服这个问题,我使用创建Java Bean并将两个对象封装到其中,然后在@RequestBody
接受它。
你的包装应该是这样的:
public class SampleWrapper {
private Object1 object1;
private Object2 object2;
//getters setters and constructors go here
}
你的构造函数应该如下所示:
@RequestMapping(value = "/url",method= RequestMethod.POST)
public String getRequest(@RequestBody SampleWrapper wrapper) {
Object1 o1 = wrapper.getObject1();
Object2 o2 = wrapper.getObject2();
}
JSON请求应如下所示:
{
"object1" : {//object1 body },
"object2" : {//object2 body }
}
答案 1 :(得分:0)
如果您正在尝试发出$ http.post请求,则可以创建要尝试发送的对象数组,然后将其附加到请求中。
$ http.put('ROUTE HERE',对象数组);
答案 2 :(得分:0)
您可以通过在formData
中附加对象来传递对象Angular side
Inappbrowser
春天
InAppBrowser