관리 메뉴

웹개발 블로그

[Spring] Optional - @PathVariable (url,404에러 방지) 본문

◆SPRING/애노테이션

[Spring] Optional - @PathVariable (url,404에러 방지)

쿠키린 2024. 7. 19. 10:46

https://velog.io/@sloools/Spring-Boot-RequestParam-PathVariable-%EC%96%B4%EB%85%B8%ED%85%8C%EC%9D%B4%EC%85%98-PathVariable-Optional-Check

 

[Spring Boot] @RequestParam, @PathVariable 어노테이션, @PathVariable Optional Check

, @PathVariable는 모두 클라이언트가 호출한 URL의 파라메터를 받아서 처리하는 어노테이션이다. @RequestParam @RequestParam은 아래 처럼 파라메터에 key=value 형식으로 전달될 때 값들을 1:1 맵핑할 때 사용

velog.io

 

Optional

@PathVariable는 URL에 생략하여 호출할 시 404 Not Found 에러를 뱉는다. 생략을 허용하려면 아래와 같이 생략된 엔드폰인트 URI를 추가하여 사용할 수 있고, Optional을 사용하여 이를 활용할 수 있다.

 

import java.util.Optional;

    @RestController
    @RequestMapping("/example")
    public class exampleController {
  	
    	@GetMapping(value = {"/", "/{id"}) // @PathVariable 생략을 허용하기 위한 분기
    	public String myFormatter(@PathVariable("id") Optional<String> id) { // Optional 사용

        	if(id.isPresent()) {
			System.out.println(id);
		}else {
			System.out.println("No id");
		}
	
    	return "Y";
    	}
    }