Lấy base URL trong Controller trong Spring MVC và Spring Boot

Khi làm việc với các ứng dụng web sử dụng Spring MVC hoặc Spring Boot, đôi khi chúng ta sẽ có nhu cầu lấy thông tin base URL của ứng dụng để làm gì đó. Base URL ở đây là https://huongdanjava.com hoặc là https://google.com đó các bạn. Để làm được điều này, các bạn có thể dùng class ServletUriComponentsBuilder của Spring.

Cụ thể class này nó có một phương thức tên là fromRequestUri() với tham số là đối tượng của class HttpServletRequest. Chúng ta sẽ lấy được base URL của ứng dụng với đối tượng của class HttpServletRequest này, cụ thể như sau:

Phương thức fromRequestUri() sẽ trả về schema (http hoặc https), host, port và context path của ứng dụng. Vì nhu cầu của chúng ta chỉ cần schema, host và port nên như các bạn thấy, chúng ta cần gọi thêm replacePath() với null value để remove context path này.

Full code:

Kết quả:

Add Comment