Class Response<T>
- java.lang.Object
-
- com.google.gerrit.extensions.restapi.Response<T>
-
- Direct Known Subclasses:
Response.Accepted
,Response.InternalServerError
,Response.Redirect
public abstract class Response<T> extends Object
Special return value to mean specific HTTP status codes in a REST API.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Response.Accepted
Accepted as task for asynchronous execution.static class
Response.InternalServerError<T>
static class
Response.Redirect
An HTTP redirect to another location.
-
Constructor Summary
Constructors Constructor Description Response()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static Response.Accepted
accepted(String location)
HTTP 202 Accepted: accepted as background task.abstract CacheControl
caching()
abstract Response<T>
caching(CacheControl c)
static <T> Response<T>
created(T value)
HTTP 201 Created: typically used when a new resource is made.static <T> Response.InternalServerError<T>
internalServerError(Exception cause)
HTTP 500 Internal Server Error: failure due to an unexpected exception.abstract boolean
isNone()
static <T> Response<T>
none()
HTTP 204 No Content: typically used when the resource is deleted.static <T> Response<T>
ok(T value)
HTTP 200 OK: pointless wrapper for type safety.static Response.Redirect
redirect(String location)
HTTP 302 Found: temporary redirect to another URL.abstract int
statusCode()
abstract String
toString()
Optional<String>
traceId()
Response<T>
traceId(String traceId)
static <T> T
unwrap(T obj)
abstract T
value()
static <T> Response<T>
withMustRevalidate(T value)
static <T> Response<T>
withStatusCode(int statusCode, T value)
Arbitrary status code with wrapped result.
-
-
-
Method Detail
-
ok
public static <T> Response<T> ok(T value)
HTTP 200 OK: pointless wrapper for type safety.
-
withMustRevalidate
public static <T> Response<T> withMustRevalidate(T value)
-
created
public static <T> Response<T> created(T value)
HTTP 201 Created: typically used when a new resource is made.
-
accepted
public static Response.Accepted accepted(String location)
HTTP 202 Accepted: accepted as background task.
-
none
public static <T> Response<T> none()
HTTP 204 No Content: typically used when the resource is deleted.
-
redirect
public static Response.Redirect redirect(String location)
HTTP 302 Found: temporary redirect to another URL.
-
internalServerError
public static <T> Response.InternalServerError<T> internalServerError(Exception cause)
HTTP 500 Internal Server Error: failure due to an unexpected exception.Can be returned from REST endpoints, instead of throwing the exception, if additional properties (e.g. a traceId) should be set on the response.
- Parameters:
cause
- the exception that caused the request to fail, must not be aRestApiException
because such an exception would result in a 4XX response code
-
withStatusCode
public static <T> Response<T> withStatusCode(int statusCode, T value)
Arbitrary status code with wrapped result.
-
isNone
public abstract boolean isNone()
-
statusCode
public abstract int statusCode()
-
caching
public abstract CacheControl caching()
-
caching
public abstract Response<T> caching(CacheControl c)
-
-