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 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!
Solved the issue with the following approach - Using JavaPoet to create Sping Beans
I can read and process the properties file in the generator java class and create my rest controllers dynamically during compilation.