반응형
Front에서 Get 메소드로 filename을 'ddori.png'로 요청시
아래와 같이 파일명을 PathVariable로 받으려 할경우 생각지 않게 받아진다.
@GetMapping("/files/{filename}")
@ResponseBody
public ResponseEntity<Resource> serveFile(@PathVariable String filename) {
log.debug(filename)
}
받아진 결과는 filename 변수에 ddori로 받아진다.
이유는 스프링에서 .(dot)이후는 확장자로 인식하고 해당 값을 버리고 가져오게 된다
위의경우 원하는 값을 가져오기 위해서는 위의 코드를 아래와 같이 PathVriable에 정규식을 사용할수 있게 수정하여야한다.
사용법은 Pathvariable + : + 정규식을 사용하면 해당 정규식의 값만을 가져오게 된다.
@GetMapping("/files/{filename:.+}")
@ResponseBody
public ResponseEntity<Resource> serveFile(@PathVariable String filename) {
log.debug(filename);
}
참고 : www.baeldung.com/spring-requestmapping
Spring @RequestMapping | Baeldung
Spring @RequestMapping - Basic Example, @RequestParam, @PathVariable, Header mapping
www.baeldung.com
반응형
'BackEnd > spring' 카테고리의 다른 글
git 디렉토리 삭제 하고 싶을때 (0) | 2021.02.18 |
---|---|
gradle api 사용시 오류 발생시 확인 사항 (0) | 2021.02.16 |
[JPA] - 이슈 링크 (0) | 2020.10.10 |
[springboot] HandlerMethodArgumentResolver (0) | 2020.05.03 |
Restfull - HTTP (0) | 2020.03.29 |