-
-
Notifications
You must be signed in to change notification settings - Fork 535
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
When I try to do deep nesting (deeper than 1 level), the path mappings "go wild".
To Reproduce
Steps to reproduce the behavior:
- What version of spring-boot you are using?
2.4.0 - What modules and versions of springdoc-openapi are you using?
1.5.0 of webflux-ui, kotlin, and security - Provide with a sample code (HelloController) or Test that reproduces the problem
class Handler{
suspend fun getUsers(request: ServerRequest) = ServerResponse.ok().buildAndAwait()
suspend fun getUserGroups(request: ServerRequest) = ServerResponse.ok().buildAndAwait()
}
@Bean
fun routeDocs(): RouterFunction<ServerResponse> = Handler().let{ handler ->
RouterFunctions.nest(
path("/users"),
SpringdocRouteBuilder.route()
.GET("", asHandlerFunction(handler::getUsers), {it.operationId("get-users")})
.POST("/special", asHandlerFunction(handler::getUsers), {it.operationId("create-user-special")})
.nest(
path("/groups"),
Supplier {
SpringdocRouteBuilder.route()
.GET("", asHandlerFunction(handler::getUserGroups), {it.operationId("get-user-groups")})
.POST("/special", asHandlerFunction(handler::getUserGroups), {it.operationId("create-user-group-special")})
.build()
},
{}
).build()
)}
- What is the actual and the expected result using OpenAPI Description (yml or json)?
actual:
paths:
/users:
get:
operationId: get-users_1
responses: {}
/users/groups:
post:
operationId: create-user-special
responses: {}
/users/special:
post:
operationId: create-user-group-special
responses: {}
expected:
paths:
/users:
get:
operationId: get-users #DIFF
responses: {}
/users/special: #DIFF
post:
operationId: create-user-special
responses: {}
/users/groups: #DIFF
get: #DIFF
operationId: get-user-groups #DIFF
responses: {} #DIFF
/users/groups/special: #DIFF
post:
operationId: create-user-group-special
responses: {}
Expected behavior
- A clear and concise description of what you expected to happen.
The paths are way off as you can see, also, operation id gets changed for some reason. - What is the expected result using OpenAPI Description (yml or json)?
above
Additional context
Add any other context about the problem here.
I also tried to call these requests and WebFlux resolves all paths correctly, so the error is only displayed in the open API, the requests work fine.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working