package kr.co.inger.hotwind.request_check;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/**
* HTTP 요청에 대해서 특정 값이 설정되었는지를 검사한다.
*
* 특정 값이 저장된 영역은 backend에 따라 설정하고 사용한다.
*
* 특정 값의 전달된 내용은 필드 이름, 맵의 키 이름으로 지정이 가능.
*
* 또한, HTTP 헤더로 전달된 값도 함께 검사가 가능.
*
* @author jhyun
* @since 2013-Aug-08-Thu
*/
@Retention(RetentionPolicy.RUNTIME)
public @interface CheckRequest {
/**
* 전달하는 객체의 속성 이름이나 맵에서의 키 이름, 혹은 QueryParam의 키 값.
*
* (메서드 인자로 전달하는 값 그자체를 키로 사용할때는 무시함.)
*/
public String targetField() default "";
/**
* HTTP헤더로 전달할때 헤더 키 이름.
*
* 이 옵션을 사용하는 메서드가 속한 JAX-RS 리소스 클래스에 RequestProvider 인터페이스를 구현해서
* HttpServletRequest을 얻을 수 있도록 해주세요.
*/
public String httpHeaderName() default "";
/** 로그인 검증이 실패했을때 예외 메시지. */
public String errorMessage() default "REQUEST CHECK FAIL!";
}