Class ApiOptionalResponse<R>
- java.lang.Object
-
- io.helidon.integrations.common.rest.ApiJsonParser
-
- io.helidon.integrations.common.rest.ApiResponse
-
- io.helidon.integrations.common.rest.ApiOptionalResponse<R>
-
- Type Parameters:
R
- type of the (optional) response object created from entity
- Direct Known Subclasses:
VaultOptionalResponse
public class ApiOptionalResponse<R> extends ApiResponse
A response for requests that may or may not return an entity, such as GET requests that may have a404
response code.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ApiOptionalResponse.Builder<X,R>
Fluent API builder forApiOptionalResponse
.static class
ApiOptionalResponse.BuilderBase<B extends ApiOptionalResponse.BuilderBase<B,T,X,R>,T extends ApiOptionalResponse<R>,X,R>
Fluent API builder base for subclasses ofApiOptionalResponse
.
-
Constructor Summary
Constructors Modifier Constructor Description protected
ApiOptionalResponse(ApiOptionalResponse.BuilderBase<?,?,?,?> builder, Optional<R> entity)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <X,R>
ApiOptionalResponse.Builder<X,R>apiResponseBuilder()
A builder to create an optional response.Optional<R>
entity()
Get the entity if it is present.<U> ApiOptionalResponse<U>
map(Function<R,U> mapper)
Map the (possible) response entity to a different type.-
Methods inherited from class io.helidon.integrations.common.rest.ApiResponse
headers, requestId, status
-
Methods inherited from class io.helidon.integrations.common.rest.ApiJsonParser
isPresent, stringValue, toBoolean, toBytesBase64, toDouble, toInstant, toInt, toList, toLong, toMap, toObject, toString
-
-
-
-
Constructor Detail
-
ApiOptionalResponse
protected ApiOptionalResponse(ApiOptionalResponse.BuilderBase<?,?,?,?> builder, Optional<R> entity)
-
-
Method Detail
-
apiResponseBuilder
public static <X,R> ApiOptionalResponse.Builder<X,R> apiResponseBuilder()
A builder to create an optional response. Method name is notbuilder
to allow subclasses to define their own builder methods.- Type Parameters:
X
- expected entity (such asJsonObject
R
- type of object used to represent the entity- Returns:
- a new builder
-
entity
public Optional<R> entity()
Get the entity if it is present.- Returns:
- optional with the entity
-
map
public <U> ApiOptionalResponse<U> map(Function<R,U> mapper)
Map the (possible) response entity to a different type.- Type Parameters:
U
- new type- Parameters:
mapper
- mapper function- Returns:
- new optional response with the mapped entity
-
-