๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ ๊ณต๋ถ€/WEB

@ExceptionHandler, @ControllerAdvice

by syLim___ 2024. 3. 1.
728x90

 

โœ… ExceptionHandler

- ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ

 - ํŠน์ • ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•จ

 

 - ์ง€์›ํ•˜๋Š” ๋ฉ”์„œ๋“œ ์•„๊ทœ๋จผํŠธ๊ฐ€ ์ผ๋ฐ˜ ํ•ธ๋“ค๋Ÿฌ๋ณด๋‹ค๋Š” ํ•œ์ •์ ์ž„

    - ์˜ˆ์™ธ ๊ฐ์ฒด, ํ•ธ๋“ค๋Ÿฌ ๊ฐ์ฒด, ๋ชจ๋ธ ๋“ฑ (๊ณต์‹ ๋ฌธ์„œ ์ฐธ๊ณ )

 

 

 

๋‹ค๋ฅธ ํ•ธ๋“ค๋Ÿฌ์—์„œ TestException์„ ๋˜์ง€๋ฉด, testErrorHandler๊ฐ€ ๋™์ž‘ํ•˜๊ณ  ์—๋Ÿฌ ํŽ˜์ด์ง€๋ฅผ ๋ฐ˜ํ™˜

 

 

 

 

 - REST API์˜ ๊ฒฝ์šฐ ์ต์…‰์…˜ ํ•ธ๋“ค๋Ÿฌ ๋ฆฌํ„ด ํƒ€์ž…์œผ๋กœ ResponseEntity๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

โœ… ControllerAdvice

 - ํŠน์ • ์ปจํŠธ๋กค๋Ÿฌ ์•ˆ์—์„œ๊ฐ€ ์•„๋‹ˆ๋ผ, ๋ชจ๋“  ์ปจํŠธ๋กค๋Ÿฌ์— ๊ฑธ์ณ์„œ ExceptionHandler, InitBinder, ModelAttributes ๋ฅผ ์ ์šฉํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ์‚ฌ์šฉ

 

 

 

 - @ContrllerAdvice ์†์„ฑ์œผ๋กœ ์ ์šฉํ•  ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.


@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface ControllerAdvice {

	@AliasFor("basePackages")
	String[] value() default {};

	@AliasFor("value")
	String[] basePackages() default {};

	Class<?>[] basePackageClasses() default {};

	Class<?>[] assignableTypes() default {};

	Class<? extends Annotation>[] annotations() default {};

}

 

 

 

 

 

728x90