[파이널프로젝트] 10월 29일 구현 - 도서 정렬 RequestParam의 변수가 존재하는지 확인

hanahana·2022년 10월 29일
0
post-thumbnail

도서를 정렬할때 특정한 조건에 따라 정렬하게 해야한다.
그런데 정렬값을 가지고 오지 않았을때는 정렬을 지정하는 @requestParam이 비게된다.
required = false로 하면 값이 비어있어도 상관없지만 이 값을 다른 클래스로 보낼때 변수 == null로 존재 여부를 체크하게 된다면 오류가 발생한다.
그럴때는 비어있을때는 기본값을 주는것으로 해결한다.

@RequestParam(value="step",required = false, defaultValue = "all")String step)

defaultValue로 값을 선언해주면 값이 비어있을때 그값을 기본으로 인식하게 된다.

하지만 만약 받은값이 class나 파일이나 혹은 기본형이 아닌 변수 일때는 존재 여부 자체를 체크할필요가있다.
그럴대는

public  메소드명(@RequestParam("변수명") Optional<자료형>  변수명) {
    if(!변수명.isPresent()) {
        변수명이 존재하지 않으면 실행되는 코드
    }

를 이용하여 체크해줄수있다. Optional<Integer> 존재여부만 체크해주기때문에 해당 변수의 값을 가지고오고 싶다면
@RequestParam("변수명") Optional<자료형> 변수명 , @RequestParam("변수명") 자료형 변수명1
으로 동시에 써주면 존재여부와 변수값을 둘 다 사용할수 있다.

profile
hello world

0개의 댓글