JAVA/SPRING

[SPRING] 현재 도메인 주소 가져오기

오선지♬ 2024. 12. 31. 20:04
728x90
반응형
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;

@RestController
public class DomainController {

    @GetMapping("/domain")
    public String getDomain(HttpServletRequest request) {
        String scheme = request.getScheme(); // "http" 또는 "https"
        String serverName = request.getServerName(); // 예: "www.example.com"
        int serverPort = request.getServerPort(); // 포트 번호 (80, 443 등)
        String contextPath = request.getContextPath(); // 애플리케이션 컨텍스트 경로 (예: "/app")

        // 포트를 포함한 도메인 URL 생성
        String domain = scheme + "://" + serverName;
        if ((scheme.equals("http") && serverPort != 80) ||
            (scheme.equals("https") && serverPort != 443)) {
            domain += ":" + serverPort;
        }
        domain += contextPath;

        return domain; // 예: http://www.example.com:8080/app
    }
}

 

 

전체 URL 가져오기

@GetMapping("/full-url")
public String getFullURL(HttpServletRequest request) {
    StringBuffer url = request.getRequestURL();
    String queryString = request.getQueryString(); // 쿼리 스트링 (예: "id=123&name=test")

    if (queryString != null) {
        url.append("?").append(queryString);
728x90
반응형

'JAVA > SPRING' 카테고리의 다른 글

[SPRING] 스케쥴러 테스트  (0) 2024.10.24
[SPRING] @NoArgsConstructor(force = true)옵션  (0) 2024.09.25
[SPRING] @NoArgsConstructor  (0) 2024.09.24
[SPRING] @Value  (0) 2024.09.19
[SPRING]fixedDelay vs fixedRate  (0) 2024.09.18