从Angular向Spring/Hibernate传递多个参数(对象)

3

Angular:

function(team, team) { return this.http.put('/api/tradeTeam/', team, 
     team2).map(res => res.json()); }

Spring/Hibernate

@RestController
@Controller
public class MainController {
    @RequestMapping(value = "/api/tradeTeam/", method = RequestMethod.PUT)  
    public List<Team> TradeTeam(@RequestBody Team team, Team team2) {       
        return teamService.TradeTeam(team, team2);      
    }
}

我做错了什么?我的服务已经正确设置。我的错误信息是:
Servlet.service()在路径为[]的上下文中的servlet [dispatcherServlet]抛出异常[请求处理失败;嵌套异常为java.lang.NullPointerException],根本原因:

1
对于“put”请求,第三个参数是“options”。你正在那里传递你的参数,这是错误的。 - CruelEngine
1个回答

1
问题在于你将team2作为http.put函数的第三个参数传递,而该参数被视为options(而不是你需要的body)。
你应该发送类似这样的内容(我认为后端还需要更多工作)。
function(team, team2) { 
    return this.http.put('/api/tradeTeam/', {teams: [team, team2]})
       .map(res => res.json()); 
}

请参见:Angular HTTP Client文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接