Annotation Type UnexpectedResponseExceptionType


@Retention(RUNTIME) @Target(METHOD) @Repeatable(UnexpectedResponseExceptionTypes.class) public @interface UnexpectedResponseExceptionType
The exception type that is thrown or returned when one of the status codes is returned from a REST API. Multiple annotations can be used. When no codes are listed that exception is always thrown or returned if it is reached during evaluation, this should be treated as a default case. If no default case is annotated the fall through exception is HttpResponseException.

Example:

 // Set it so that all response exceptions use a custom exception type.

 @UnexpectedResponseExceptionType(MyCustomExceptionHttpResponseException.class)
 @Post("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/"
     + "Microsoft.CustomerInsights/hubs/{hubName}/images/getEntityTypeImageUploadUrl")
 void singleExceptionType(@PathParam("resourceGroupName") String resourceGroupName,
     @PathParam("hubName") String hubName,
     @PathParam("subscriptionId") String subscriptionId,
     @BodyParam("application/json") RequestBody parameters);


 // Set it so 404 uses a specific exception type while others use a generic exception type.

 @UnexpectedResponseExceptionType(code = {404}, value = ResourceNotFoundException.class)
 @UnexpectedResponseExceptionType(HttpResponseException.class)
 @Post("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/"
     + "Microsoft.CustomerInsights/hubs/{hubName}/images/getEntityTypeImageUploadUrl")
 void multipleExceptionTypes(@PathParam("resourceGroupName") String resourceGroupName,
     @PathParam("hubName") String hubName,
     @PathParam("subscriptionId") String subscriptionId,
     @BodyParam("application/json") RequestBody parameters);

 // If multiple annotations share the same HTTP status code or there is multiple default annotations the
 // exception, the last annotation in the top to bottom order will be used (so the bottom most annotation).
 
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    The type of HttpResponseException that should be thrown/returned when the API returns an unrecognized status code.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    int[]
    HTTP status codes which trigger the exception to be thrown or returned, if not status codes are listed the exception is always thrown or returned.
  • Element Details

    • value

      Class<? extends HttpResponseException> value
      The type of HttpResponseException that should be thrown/returned when the API returns an unrecognized status code.
      Returns:
      The type of RestException that should be thrown/returned.
    • code

      int[] code
      HTTP status codes which trigger the exception to be thrown or returned, if not status codes are listed the exception is always thrown or returned.
      Returns:
      The HTTP status codes that trigger the exception to be thrown or returned.
      Default:
      {}