I have already reported this issue to the spring boot issues spring-projects/spring-boot#50293 because its hard to me to tell where this issue belongs.
Spring Boot: v4.0.6
Expected: required=false should handle missing path segment gracefully
Actual: throws InvalidApiVersionException: "No path segment at index 1"
Config:
spring.mvc.apiversion.use.path-segment=1
spring.mvc.apiversion.required=false
@RestController
class ActivitiesApiController(
private val activityService: ActivityService
) {
@GetMapping("/api/{version}/activities/foo", version = "1.0")
fun getActivities1(): List<ItineraryItem> {
return activityService.getActivities(ActivityFilter(), Pageable.unpaged()).content.map { it.toSharedModel() }
}
@GetMapping("/api/activities/foo")
fun getActivities(): List<ItineraryItem> {
return activityService.getActivities(ActivityFilter(), Pageable.unpaged()).content.map { it.toSharedModel() }
}
}
}
Reproduction:
GET /api/activities/foo → 400 InvalidApiVersionException
GET /api/1.0/activities/foo → 200 OK
I have already reported this issue to the spring boot issues spring-projects/spring-boot#50293 because its hard to me to tell where this issue belongs.
Spring Boot: v4.0.6
Expected: required=false should handle missing path segment gracefully
Actual: throws InvalidApiVersionException: "No path segment at index 1"
Config:
spring.mvc.apiversion.use.path-segment=1
spring.mvc.apiversion.required=false
Reproduction:
GET /api/activities/foo → 400 InvalidApiVersionException
GET /api/1.0/activities/foo → 200 OK