Class WebServiceApi

java.lang.Object
systextil.plugins.webapi.WebServiceApi

public abstract class WebServiceApi extends Object
  • Constructor Details

    • WebServiceApi

      public WebServiceApi()
  • Method Details

    • getServices

      public Set<Class<?>> getServices()
    • getSingletons

      public Set<Object> getSingletons()
    • getBasePath

      public abstract String getBasePath()
    • uncaughtExceptionHandler

      public javax.ws.rs.core.Response uncaughtExceptionHandler(String errorId, Throwable ex)
      Callback executado sempre que um erro não tratado ocorrer nessa aplicação. Esse método pode ser sobreecrito em cada plugin para transformar a exceção em uma resposta que o cliente entenda. Por default, se esse método não for implementado, será retornada uma resposta HTTP com um JSON no seguinte formato:
           {errorId: 'aaBC2`, message: 'Unexpected error'}
       
      O código de erro HTTP dessa resposta depende do tipo de exceção lançada. Para exceções do tipo WebApplicationException o código de erro será o codigo do Response contido nessa WebApplicationException. Para as outras exceções será 500.
      Isso significa que ser você quiser retornar um erro 404 você pode fazer da seguinte forma:
      throw new WebApplicationException(404)
      Esse método sendo sobreescrito ou não, sempre será logado um erro dessa exceção em conjunto com errorId, por isso é interessante mostrar na mensagem de erro (no client) esse errorId para que seja possível rastrear o erro nos logs do servidor.
      Parameters:
      errorId - um id unico relacionado a esse erro, pode ser usado para achar esse erro nos logs.
      ex - a exceção a ser tratada.
      Returns:
      um Response contendo informações sobre o erro.