Void Type

2023. 12. 28. 11:25Spring/개념

스프링으로 개발을 하다보면, api response 객체에는 굳이 담을 것이 없지만 이 api가 성공적인 동작을 했다는것은 클라이언트에게 알려야할 수도 있다. 이럴때는 어떤식으로 만들어야 할까?

보통 API response를 그대로 쓰는 경우, 혹은 이것을 살짝만 매핑해서 쓰는 경우가 많을텐데 이럴때는 응답을 안 보낼수도 없고, 보내야만 한다.

public ResponseEntity<Void> insertUser(Request request) {
		// ...
        if(request.id == null)
        	return new ResponseEntity<>(HttpStatus.NO_CONTENT);
            // 오류 메시지도 같이 던지면 좋을거같다.
		return new ResponseEntity<>(HttpStatus.OK);
	}

이렇게 Void 객체를 활용해 던질 수 있다.

 

또한 제네릭 클래스 T 를 써야하는데 반환하는 파라미터는 구현화되어야 하지만, 현재 구현에서 반환할 수 없을 때 명시적으로 Void 클래스를 활용하기도 한다. 상황에 맞춰서 쓰면 될듯하다.