前后端分离项目后端请求后一般是返回指定的json格式数据,但有些时候添加或修改数据后,再需要查询最新的数据返回给前端,一种办法就是在当前请求api里将所有操作都完成返回数据给前端.但当我们有查询数据的api时,就可以拿来共用了.可以重定向或请求转发到查询数据的api上来实现.
可通过ModelAndView跳转:
@PostMapping("/project")
public ModelAndView addProject(@RequestBody TbProject project){
log.debug("REST request to add {}", project);
Integer add = projectService.addProject(project);
//请求转发forward(RequestMethod值相同),重定向redirect(默认Get请求)
String url = "redirect:http://localhost:8081/api/project";
//Exit: ModelAndView [view="redirect:http://localhost:8081/api/project"; model=null]
return new ModelAndView(url);
}
@GetMapping("/project")
public TbProject getLasterProject(ModelMap modelMap){
log.debug("REST request to get laster project info");
return projectService.getLasterProject();
}
也可以通过HttpServletResponse跳转:
@RequestMapping("/project")
public void alipayforward(@RequestBody TbProject project, HttpServletRequest req, HttpServletResponse resp) throws Exception {
logger.info("访问/project");
resp.sendRedirect("http://localhost:8081/api/project");
}
也可以通过redirect返回String类型跳转: 不能用@ResponseBody或@RestController注解,会返回json字符串
@RequestMapping("/project")
public String alipayforward(@RequestBody TbProject project, HttpServletRequest req, HttpServletResponse resp) throws Exception {
logger.info("访问/project");
return "redirect:http://localhost:8081/api/project";
}