Spring 接口驱动控制器的使用
Spring Interface Driven Controllers usage
我以前写过没有接口的@RestControllers,但突然看到文章https://www.baeldung.com/spring-interface-driven-controllers,描述了这种模式Interface Driven Controllers。所以问题是:为什么它需要为每个带有注释方法的控制器创建具有特殊接口的控制器,例如@GetMapping、@RequestBody、@PathVariable 等?对我来说似乎更复杂,没有任何好处。
在文章中得到了完美的解释
您可以在两个控制器中使用相同的方法实现一个接口:
@RequestMapping("/oldversioncontroller/book")
public class BookOldController implements BookOperations {...}
@RequestMapping("/newversioncontroller/book")
public class BookNewController implements BookOperations {...}
我以前写过没有接口的@RestControllers,但突然看到文章https://www.baeldung.com/spring-interface-driven-controllers,描述了这种模式Interface Driven Controllers。所以问题是:为什么它需要为每个带有注释方法的控制器创建具有特殊接口的控制器,例如@GetMapping、@RequestBody、@PathVariable 等?对我来说似乎更复杂,没有任何好处。
在文章中得到了完美的解释 您可以在两个控制器中使用相同的方法实现一个接口:
@RequestMapping("/oldversioncontroller/book")
public class BookOldController implements BookOperations {...}
@RequestMapping("/newversioncontroller/book")
public class BookNewController implements BookOperations {...}