0
我有一个控制器类具有以下签名:如何简化这些控制器的请求映射?
@Controller
@RequestMapping("/home/users")
public class MaterialsController { ... }
和每个方法在该控制器类开始具有相同路径变量,即,{username}
,例如,我已经下面的方法:
@RequestMapping(value = "{username}/mycreations/{coursewareName}/materials/{materialId}", method = RequestMethod.DELETE)
public void deleteCourseMaterialFromCreatedCourseware(@PathVariable String username,
@PathVariable String coursewareName, @PathVariable String materialId, Model model,
HttpServletRequest request, HttpServletResponse response) {
现在,在这些控制器的每个方法的开始处写{username}
是有点繁琐。有没有办法在类级别指定此路径变量?当然,我也需要访问它,就像我在上面的方法中指定@PathVariable String username
一样。
另外,我理想的情况是,我还希望在必要时在课堂级别包含多个变量。
您可以将路径移到类级yes,但不是参数。 –
因此,例如,我可以在课程级别具有以下路径'/ home/users/{username}',然后在方法级别只有'mycreations/{coursewareName}/materials/{materialId}“',但仍然在方法级别保留'@PathVariable字符串用户名'? – nbro
这是正确的。 –