Open ikhoon opened 3 months ago
Hello @ikhoon nim. May i look at this issue?
I understood it like this. is my understanding correct?
/rest/catalog/product
=> getProductService()
/rest/catalog/products
=> productsHandler()
/rest/cart/checkout
=> checkoutService()
/qql/catalog
=> GraphQLService()
If we use and()
to go back 1-depth before,
I think it will cause breakpoints.
From now, and()
return Generic <T>
. In most case, Generic <T>
is ServerBuilder
Type.
However, contextPath()
will returns ContextPathServiceBuilder
type.
Thus, it will make breaking change.
How about before()
or previous()
instead of using and()
generally to go back 1-depth before?
I think, in that way, user will not encounter braking changes.
For Example,
sb.contextPath("/rest")
.contextPath("/catalog")
.service("/product", new GetProductService())
.service("/products", new ProductsHandler())
.before()
.contextPath("/cart")
.contextPath("/foo")
.contextPath("/bar")
.service("/checkout", new CheckoutService());
.and()
.contextPath("/gql")
.service("/catalog", new GraphQLService());
/rest/catalog/product
=> getProductService
/rest/catalog/products
=> productsHandler
/rest/cart/foo/bar/checkout
=> checkoutService
/gql/catalog
=> GraphQLService
.
Currently, a context path is only supported at the root path. Nested context paths will help group and isolate each service.
Discussion: https://discord.com/channels/1087271586832318494/1250406858100047896/1250406882426753036