웹 개발
Spring Controller에서 @PathVariable에 특수문자 허용하는 방법
노루아부지
2022. 2. 13. 20:54
반응형
Spring Controller에서 특히 REST API에서 특수문자를 허용해야 하는 경우가 있습니다.
(특정 버전 이후에는 특수문자가 그냥 허용된다고 합니다.)
예를 들어서 다음과 같은 경우입니다.
문자가 잘리는 예시
1. 요청 URL
GET http://localhost:8080/test/yjh5369@tistory.com
2. Controller
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
public class TestController {
@GetMapping("/user/{email}")
public String getUserInfo(@PathVariable String email) {
log.info("email:"+email);
return email;
}
}
특수문자를 허용하는 방법
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
public class TestController {
@GetMapping("/user/{email:.+}")
public String getUserInfo(@PathVariable String email) {
log.info("email:"+email);
return email;
}
}
[참고]
https://stackoverflow.com/questions/16332092/spring-mvc-pathvariable-with-dot-is-getting-truncated
728x90
반응형