Код: Выделить всё
public enum ErrorMessages {
NO_USER(1004, "User not found"),
UNKNOWN_MODULE(1006, "Module unknown"),
INCORRECT_DATE(1009, "Incorrect date");
public final int code;
private final String messageEng;
ErrorMessages(int code, String messageEng) {
this.code = code;
this.messageEng = messageEng;
}
public int getCode() {
return code;
}
public String getMessageEng() {
return messageEng;
}
}
Код: Выделить всё
@JsonRpcMethod("MyMethod")
@JsonRpcErrors(@JsonRpcError(exception = UserNotFoundException.class, code = ErrorMessages.NO_USER.getCode()))
boolean myMethod(
@JsonRpcParam("userId") Integer userId, @JsonRpcParam("apiKey") String apiKey)
throws UserNotFoundException;
Я знаю, что значения должны передаваться в аннотации во время компиляции, но я думал, что это уже известно в мой случай.
Есть ли способ передать туда код ошибки, получив его из перечисления ErrorMessages? Было бы довольно глупо жестко запрограммировать кодовые номера, если они уже объявлены.
Я пытался применить некоторые предложения из найденных мною тем в sof, но безуспешно. Был один способ переписать перечисление в интерфейс, но я бы хотел этого избежать.
Подробнее здесь: https://stackoverflow.com/questions/764 ... ns-in-java