danuri
오늘의 기록
danuri
전체 방문자
오늘
어제
  • 오늘의 기록 (307)
    • java (150)
      • java (33)
      • spring (63)
      • jpa (36)
      • querydsl (7)
      • intelliJ (9)
    • kotlin (8)
    • python (24)
      • python (10)
      • data analysis (13)
      • crawling (1)
    • ddd (2)
    • chatgpt (2)
    • algorithm (33)
      • theory (9)
      • problems (23)
    • http (8)
    • git (8)
    • database (5)
    • aws (12)
    • devops (10)
      • docker (6)
      • cicd (4)
    • book (44)
      • clean code (9)
      • 도메인 주도 개발 시작하기 (10)
      • 자바 최적화 (11)
      • 마이크로서비스 패턴 (0)
      • 스프링으로 시작하는 리액티브 프로그래밍 (14)
    • tistory (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

태그

  • Jackson
  • AWS
  • RDS
  • 도메인 주도 설계
  • POSTGIS
  • Spring
  • 트랜잭션
  • PostgreSQL
  • gitlab
  • 등가속도 운동
  • mockito
  • Kotlin
  • connection
  • reactive
  • docker
  • JPA
  • CICD
  • SWAGGER
  • Thymeleaf
  • Java
  • DDD
  • nuribank
  • 마이크로서비스패턴
  • S3
  • 자바 최적화
  • Database
  • Bitmask
  • Security
  • ChatGPT
  • Saving Plans

최근 댓글

최근 글

hELLO · Designed By 정상우.
danuri

오늘의 기록

java/spring

[Spring] Controller에서 pathvariable로 path(/aaa/bbb) 값 받는 법

2022. 7. 15. 17:05

API에서 Pathvariable은 자주 쓰인다.

GET: /user/1 -> 여기서 '1'을 pathvariable로 가져올 수 있다.

하지만 만약, path 형태의 값을 pathvariable로 가져오고 싶다면?

GET: /user/home/server/list -> 여기서 'home/server/list'를 pathvariable로 가져오고 싶지만, spring에서는 /user/home/server/list 라는 경로에 해당하는 컨트롤러를 찾을 뿐이다.

 

따라서, 다른 방식을 사용할 필요가 있다.

@GetMapping("/user/**")
public String getPath(HttpServletRequest request) {
    return request.getRequestURI().split(request.getContextPath() + "/user/")[1];
}

위와 같이, request URI를 split해서 필요한 부분을 꺼내는 방법이다.

여기서, request.getRequestURI()는 "/user/home/server/list" 이고, request.getContextPath()는 프로젝트 path이다. 따로 지정하지 않았다면 ""을 갖는다.

GET: /user/home/server/list을 호출해보면 'home/server/list'가 정상적으로 출력되는 것을 볼 수 있다.

 

참고자료

https://www.baeldung.com/spring-slash-character-in-url

저작자표시 비영리 동일조건 (새창열림)

'java > spring' 카테고리의 다른 글

[Spring] Swagger 3.0 적용  (0) 2022.07.16
[Spring] Spring Security + JWT 토큰을 통한 로그인  (57) 2022.07.16
[Spring] AWS Parameter Store를 사용해 변수 불러오기  (0) 2022.01.09
[Spring] 개발, 운영 환경 별 profile 설정  (0) 2022.01.09
[Spring] FCM 서버 구축하기 (특정 시간대에 알림 보내기)  (4) 2021.12.10
    'java/spring' 카테고리의 다른 글
    • [Spring] Swagger 3.0 적용
    • [Spring] Spring Security + JWT 토큰을 통한 로그인
    • [Spring] AWS Parameter Store를 사용해 변수 불러오기
    • [Spring] 개발, 운영 환경 별 profile 설정
    danuri
    danuri
    IT 관련 정보(컴퓨터 지식, 개발)를 꾸준히 기록하는 블로그입니다.

    티스토리툴바