Spring
SpringBoot-@PathVariable에 특수문자 허용
Jop
2021. 10. 8. 15:43
반응형
springboot에서 Path를 입력 시 특수문자가 존재할 경우 텍스트 값이 짤려서 들어갑니다.
이 경우를 해결해주기 위해서는 인자 뒤에 ":.+"값을 추가해주면 됩니다.
{test} -> {test:.+}
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@RestController
public class TextTestController {
@GetMapping("/text/{test}")
public String ValidateSpecialCharacters(@PathVariable String test) {
log.info(test);
return test;
}
}
근데 수정 테스트 하기전에 추가 의문점이 생겼는데
현재 특수문자를 입력한 초반에 텍스트가 잘리는 것이아니라 그 이후에 텍스트가 잘리는 현상을 목격할 수 있었습니다.
* 이에관한 원인에 대해서는 아직 파악하지 못했습니다...알게되면 추가로 글을 작성하겠습니다.
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@RestController
public class TextTestController {
@GetMapping("/text/{test:.+}")
public String ValidateSpecialCharacters(@PathVariable String test) {
log.info(test);
return test;
}
}
":.+" 추가 해준 뒤에 테스트해보니 문자열이 잘리지 않고 정확히 들어오는 것을 확인할 수 있었습니다.
반응형