Aipo Web APIにAipoErrorCodeを追加する

enum型

public enum AipoErrorCode {

  BAD_REQUEST {
    @Override
    int getCode() {
      return getStatus() + 1000;
    }

    @Override
    protected String getDefaultMessage() {
      return "Bad Request";
    }

    @Override
    int getStatus() {
      return HttpServletResponse.SC_BAD_REQUEST;
    }
  },
 〜略〜
}

https://github.com/aipocom/aipo-opensocial/blob/master/core/src/main/java/com/aipo/container/protocol/AipoErrorCode.java 内に任意の1000台のエラーコードとエラーメッセージ、HTTPステータスを設定した

  ACCESS_NOT_DENIED {
    @Override
    int getCode() {
      return 1012;
    }

    @Override
    protected String getDefaultMessage() {
      return "Your ip address is denied.";
    }

    @Override
    int getStatus() {
      return HttpServletResponse.SC_FORBIDDEN;
    }
  }

を追加する。

利用時は、Shindigを拡張したAipoDataServiceServlet内で

sendError(servletResponse, AipoErrorCode.ACCESS_NOT_DENIED);

のようにする。