Spring 用类似方法推广弹簧静止控制器

Spring 用类似方法推广弹簧静止控制器,spring,spring-boot,spring-restcontroller,Spring,Spring Boot,Spring Restcontroller,在Spring引导应用程序中,有两个rest端点用于不同的资源,但它们的实现几乎相同。请参见以下示例 资源1: @GetMappingpath=/resource-1/{name},products=APPLICATION\u JSON\u值 公共责任getResource1@PathVariablename字符串名{ 试一试{ 返回ResponseEntity.okmyService.getResource1name; }catch EntityNotFounde异常{ 返回状态未找到。生成;

在Spring引导应用程序中,有两个rest端点用于不同的资源,但它们的实现几乎相同。请参见以下示例

资源1:

@GetMappingpath=/resource-1/{name},products=APPLICATION\u JSON\u值 公共责任getResource1@PathVariablename字符串名{ 试一试{ 返回ResponseEntity.okmyService.getResource1name; }catch EntityNotFounde异常{ 返回状态未找到。生成; }捕获异常e{ 返回状态内部\u服务器\u错误。生成; } } 资源2:

@GetMappingpath=/resource-2/{name},products=APPLICATION\u JSON\u VALUE 公共责任getResource2@PathVariablename字符串名{ 试一试{ 返回ResponseEntity.okmyService.getResource2name; }catch EntityNotFounde异常{ 返回状态未找到。生成; }捕获异常e{ 返回状态内部\u服务器\u错误。生成; } } 如您所见,这些方法仅在被调用的服务方法中有所不同,这取决于资源路径resource-1或resource-2

是否有任何类似Spring Boot的方法来减少重复代码并将其放在更通用的方法中?

这对我来说很有效

@GetMapping(path = "/resource-{var}/{name}", produces = APPLICATION_JSON_VALUE)
public ResponseEntity<CustomResponse> getResource(@PathVariable ("var") int var, @PathVariable("name") String name) {
    // do according to the var value
}
这对我有用

@GetMapping(path = "/resource-{var}/{name}", produces = APPLICATION_JSON_VALUE)
public ResponseEntity<CustomResponse> getResource(@PathVariable ("var") int var, @PathVariable("name") String name) {
    // do according to the var value
}