我有一个项目,我们从Java Script调用GET方法:调用的方法如下:
public
@ResponseBody
Map run( @RequestParam Map map, HttpServletRequest request, HttpServletResponse response) throws Exception {
}
现在我正在编写一个Micro服务来完成上述方法中完成的工作。并且要求是这个方法将调用微服务。我唯一坚持的是将(HttpServletRequest请求,HttpServletResponse响应)传递给我正在调用的微服务中的方法,因为他们在那里有一些数据将是用过的。
我在微服务中的方法定义如下:
@POST
@Path("/myPostCall")
public String myPostCall(Map map,HttpServletRequest request, HttpServletResponse response) throws Exception{
}
现在我试图通过
来调用它 RestTemplate abc = new RestTemplate();
abc.postForObject("http://localhost:8008/report/run", report1, String.class);
它给了我422错误。但是,如果我删除请求,微服务方法中的响应参数。它运行良好。但我也需要它们。因为他们有数据。有什么不符合我的理解。
答案 0 :(得分:0)
您可以在课程中将它们用作私有变量:
@Context
private HttpServletRequest request;
@Context
private HttpServletResponse response;
或强>
@POST
@Path("/myPostCall")
public String myPostCall(..., @Context HttpServletRequest request, @Context HttpServletResponse response) throws Exception{
//do some stuff
}