Непонятно откуда может взяться большое количество версий API. Там обычно не все так быстро происходит.
Можно сделать отдельный контроллер к каждой версии (и это точно лучше, чем мешать в одном классе разные версии методов):
@RestController
@RequestMapping("api1")
public class OldApi {
@GetMapping
public String getString() {
return " get this string from version 1 to version 2.2";
}
}
@RestController
@RequestMapping("api2")
public class NewApi {
@GetMapping
public String getString() {
return " get this string from version 2.3 to version 6.1";
}
}