The Context
Hello, I am new to Spring and trying to work with a spring boot application which serves HTTP reqs.
I have several "customer" endpoints that have different URIs.
I want to create the rest controllers dynamically on runtime or during container start-up. I understand that I can make use of @Profile to achieve this but the need is, I need to replace these dynamic URIs with their corresponding static URIs (to sanitize their mappings recorded via wiremock which they use for mocking).
For example -
- I may get a request as /users/1/ID
- I need to sanitize this url to this "/users/ID"
- Each customer has a ton of such URIs
- Instead of manually editing and manipulating them, can I dynamically create these controllers?
I plan to create a RestController that can read data from the properties file and create the request handlers dynamically.
Format for field in properties file - <regEx_URL>=HTTP_METHOD:STATIC_URL
this should translate into something like -
@RequestMapping(path = <regEx_URL>, method = HTTP_METHOD)
private String handler(){
// do something
return "working!";
}
Can we achieve this?
My idea is if we can configure the Spring MVC context somehow to register these endpoints during container startup, we can serve HTTP requests.
I couldn't really find a solution on the web that suits my usecase. Any suggestions or solutions would be greatly appreciated!