Kor*_*ext 4 java spring spring-boot
我正在实施一种替换短链接的机制。
我需要将请求转发给另一个控制器。我找到了如何在模型上在 spring 中执行此操作的示例,但我不明白如何在 RestControllers 中执行此操作
我发现的示例(使用模型)
@Controller
public class ShrotLinkForwardController {
@RequestMapping("/s/*")
public String myMethod(HttpServletRequest request) {
return "forward:/difmethod";
}
}
Run Code Online (Sandbox Code Playgroud)
或者也许我看错了方向,我需要做一个过滤器?
UPD。我不知道最终的端点,它是在转发方法中计算的。所以,我无法自动连接其他控制器
有两种方法可以实现您想要的目标。
控制器只是普通的 Spring bean。您可以通过 autowire 获取它。
@Controller
public class ShrotLinkForwardController {
@Autowired
OtherController otherController;
@RequestMapping("/s/*")
public String myMethod(Model model) {
otherController.doStuff();
return ...;
}
}
Run Code Online (Sandbox Code Playgroud)
要触发转发,请尝试返回 aString而不是ModelAndView。
这就是您在问题中提到的方法。请注意,语法应该是forward:/forwardURL. 后面的字符串forward:是指向另一个控制器的 URL,而不是方法名称。
@Controller
public class ShrotLinkForwardController {
@RequestMapping("/s/*")
public String myMethod(Model model) {
return "forward:/forwardURL";
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5877 次 |
| 最近记录: |