java - 如何简化这些 Controller 的请求映射?

标签 java spring spring-mvc controller request-mapping

我有一个具有以下签名的 Controller 类:

@Controller
@RequestMapping("/home/users")
public class MaterialsController { ... }

并且该 Controller 类中的每个方法都以相同的路径变量开头,即{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) {

现在,在每个 Controller 方法的开头编写 {username} 有点乏味。有没有办法在类级别指定此路径变量?当然,我还需要访问它,就像我在上面的方法中指定 @PathVariable String username 一样。

此外,理想情况下,我还希望在必要时在类级别包含多个变量。

最佳答案

是的,您可以将其放在类级别,但必须将其包含在适当方法的路径变量中。

Can I use path variable in spring controller class?

关于java - 如何简化这些 Controller 的请求映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37241521/

相关文章:

java - 如何测试该方法已添加 redirectAttributes ?(通过 MockMvc)

java - 编写 customConsumerFactory 和 customKafkaListenerContainerFactory 时不会自动加载 spring kafka 属性

Java - 并发清除列表

java - Spring Data JPA 规范继承

java - hibernate中的多对多自引用关联

java - 如何通过catalina.out查找tomcat自动关机原因

java - Spring MVC session 属性访问

java - 如何加密或标记用户名和日期标记?

java - OSGi:如何找出哪些 bundle 正在使用我导出的服务?

javascript - 如何在JSP中很好地拆分表格