使用

    1. 引入依赖
  1. <dependency>
  2. <groupId>com.litong.boot</groupId>
  3. <artifactId>api-version-spring-boot-starter</artifactId>
  4. <version>1.0-SNAPSHOT</version>
  5. </dependency>

使用方法

代码使用

配置

  1. @Slf4j
  2. @Configuration
  3. public class WebRequestMappingConfig implements WebMvcRegistrations {
  4. @Override
  5. public RequestMappingHandlerMapping getRequestMappingHandlerMapping() {
  6. return new ApiVersionRequestMappingHandlerMapping();
  7. }
  8. }

api注解
同一类内

  1. @RestController
  2. @RequestMapping("/upms/{version}/roles")
  3. public class SysRoleV2Controller {
  4. @RequestMapping("/test")
  5. @ApiVersion(2)
  6. public String test2() {
  7. return "method---test2";
  8. }
  9. @RequestMapping("/test")
  10. @ApiVersion(3)
  11. public String test3() {
  12. return "method---test3";
  13. }
  14. }

不同类内

  1. @ApiVersion
  2. @RestController
  3. @RequestMapping("/upms/{version}/roles")
  4. public class SysRoleV1Controller {
  5. @RequestMapping("/test")
  6. public String test1() {
  7. return "method---test1";
  8. }
  9. }
  10. @ApiVersion(2)
  11. @RestController
  12. @RequestMapping("/upms/{version}/roles")
  13. public class SysRoleV2Controller {
  14. @RequestMapping("/test")
  15. public String test1() {
  16. return "method---test2";
  17. }
  18. }

混合

  1. @ApiVersion
  2. @RestController
  3. @RequestMapping("/upms/{version}/roles")
  4. public class SysRoleV1Controller {
  5. @RequestMapping("/test")
  6. public String test1() {
  7. return "method---test1";
  8. }
  9. @ApiVersion(3)
  10. @RequestMapping("/test")
  11. public String test3() {
  12. return "method---test3";
  13. }
  14. }
  15. @ApiVersion(2)
  16. @RestController
  17. @RequestMapping("/upms/{version}/roles")
  18. public class SysRoleV2Controller {
  19. @RequestMapping("/test")
  20. public String test1() {
  21. return "method---test2";
  22. }
  23. @ApiVersion(4)
  24. @RequestMapping("/test")
  25. public String test4() {
  26. return "method---test4";
  27. }
  28. }