0
value
과 optional
의 두 매개 변수가 정의에 있습니다. 하지만 난 두 가지 질문이 있으므로 사용에, 하나의 매개 변수가 : 정의에 비해 사용량이 적은 매개 변수가있는 경우여러 매개 변수가있는 주석 정의
을하고, 매개 변수 이름이 존재하지 않는, 어떻게 사용되는 일 결정 ?
위의 코드에서 값은 배열 유형이지만
AuthRequired.AuthType.Server
은 어떤 요소입니까?자바 코드 :
주석 정의가
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface AuthRequired {
enum AuthType {
Server(null),
Student(UserType.Student),
Teacher(UserType.Teacher),
SchoolMaster(UserType.SchoolMaster),
Operator(UserType.Operator);
private UserType userType;
AuthType(UserType userType) {
this.userType = userType;
}
public UserType getUserType() {
return userType;
}
}
AuthType[] value() default {};
boolean optional() default false;
}
그리고 그것의 사용 :
자바 코드 :
@AuthRequired(AuthRequired.AuthType.Server)
@RequestMapping(method = RequestMethod.GET, value = "/isUserSlaveOf")
boolean isUserSlaveOf(
@RequestParam String slaveUserIds,
...
...
유형별로 일치합니다. – janos
필드 이름이 없을 수있는 유일한 방법은 필드 이름이 '값'인 경우입니다. 다른 모든 필드의 이름을 지정해야합니다. 특별한 이름'value'는 "default"입니다. – Itai
https://docs.oracle.com/javase/tutorial/java/annotations/index.html –