I have build a Springboot Application including Angluar5. I have a gradle build script which loads the angular files into my springboot project.The files are under resources/static of my springboot project. When i start my application the routing of angular is not working anymore and i get
Error: Cannot match any routes. URL Segment: 'access'
My project structure:
I deployed my angular app with following statement:
ng build --deploy-url=BeatAcknowledgeTest --op=../backend/src/main/resources/static
This will make my static files accessable to following link:
www.mySite.com/BeatAcknowledgeTest/...
If i type
www.mySite.com/BeatAcknowledgeTest/access
the pages renders and all is good but when i am in another component, for example
www.mySite.com/BeatAcknowledgeTest/home
and i click on a button which routes me to
www.mySite.com/BeatAcknowledgeTest/access
i am getting an error and my application is not redirecting.
Any suggestions?
To enable routing in our Angular application, we need to do three things: create a routing configuration that defines the possible states for our application. import the routing configuration into our application. add a router outlet to tell Angular Router where to place the activated components in the DOM.
The Angular ApplicationWith our demo Spring Boot application up and running, we can now create a simple Angular application capable of consuming the REST controller API.
I solved this issue by creating RequestForwardingController in my app. Which will take care of all the routing:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class RequestForwardingController {
@RequestMapping(value = "/**/{[path:[^\\.]*}")
public String redirect() {
// Forward to home page so that angular routing is preserved.
return "forward:/";
}
}
It also solves the reload URL issue as well. In which you click on reload button of browser it will show Spring boot error page.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With