Java 测试时如何删除重复的路由名称

Java 测试时如何删除重复的路由名称,java,spring,spring-boot,spring-mvc,spring-mvc-test,Java,Spring,Spring Boot,Spring Mvc,Spring Mvc Test,我有一个简单的控制器REST: @RestController @RequestMapping("/employees") public class EmployeeController { @Autowired private EmployeeRepository repository; @GetMapping("") List<Employee> all() { return repository.findAll();

我有一个简单的控制器REST:

@RestController
@RequestMapping("/employees")
public class EmployeeController {

    @Autowired
    private EmployeeRepository repository;

    @GetMapping("")
    List<Employee> all() {
        return repository.findAll();
    }

    @GetMapping("/{id}")
    Employee one(@PathVariable Long id) {
        return repository
                .findById(id)
                .orElseThrow(() -> new EmployeeNotFoundException(id));
    }
}
但问题是路线“/员工”的名称重复太多。 如果有更改路由名称的要求,我将不得不更改100个测试。非常糟糕

还有如何在使用基本路由和参数时消除重复,这里只有一个参数:{id}。 但也可能需要更改参数的名称

请说明如何组织代码并消除重复。

您可以使用

EmployeeController.class.getAnnotation(RequestMapping.class).value()[0];
从控制器的@RequestMapping(“/employees”)获取路径

“/雇员”


我认为最好的解决办法是引入


公共静态最终字符串路径=“/employees”EmployeeController中的变量
,因此您可以在任何地方引用“/employees”路径

我们无法将此变量添加到注释中。所以需要在控制器中复制字符串,不是吗?您可以在注释中使用此变量,因为它是最终变量。就像使用
@RequestMapping(EmployeeController.PATH)
见鬼,我没有包括类名…:-(
EmployeeController.class.getAnnotation(RequestMapping.class).value()[0];