Interface ResponseConverterFunction
- All Known Implementing Classes:
ByteArrayResponseConverterFunction
,JacksonResponseConverterFunction
,NullToNoContentResponseConverterFunction
,ObservableResponseConverterFunction
,ObservableResponseConverterFunction
,ServerSentEventResponseConverterFunction
,StringResponseConverterFunction
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface ResponseConverterFunction
Converts a
result
object to HttpResponse
. The class implementing this interface would
be specified as ResponseConverter
annotation.- See Also:
ResponseConverter
-
Method Summary
Modifier and Type Method Description HttpResponse
convertResponse(ServiceRequestContext ctx, ResponseHeaders headers, Object result, HttpHeaders trailers)
ReturnsHttpResponse
instance corresponds to the givenresult
.static <T> T
fallthrough()
Throws aFallthroughException
in order to try to convertresult
toHttpResponse
by the next converter.
-
Method Details
-
convertResponse
HttpResponse convertResponse(ServiceRequestContext ctx, ResponseHeaders headers, @Nullable Object result, HttpHeaders trailers) throws ExceptionReturnsHttpResponse
instance corresponds to the givenresult
. Callsfallthrough()
or throws aFallthroughException
if this converter cannot convert theresult
to theHttpResponse
.- Parameters:
headers
- The HTTP headers that you might want to use to create theHttpResponse
. The status of headers isHttpStatus.OK
by default orHttpStatus.NO_CONTENT
if the annotated method returnsvoid
, unless you specify it withStatusCode
on the method. The headers also will include aMediaType
ifServiceRequestContext.negotiatedResponseMediaType()
returns it. If the method returnsHttpResult
, this headers is the same headers fromHttpResult.headers()
Please note that the additional headers set byServiceRequestContext.mutateAdditionalResponseHeaders(Consumer)
andAdditionalHeader
are not included in this headers.result
- The result of the service method.trailers
- The HTTP trailers that you might want to use to create theHttpResponse
. If the annotated method returnsHttpResult
, this trailers is the same trailers fromHttpResult.trailers()
. Please note that the additional trailers set byServiceRequestContext.mutateAdditionalResponseTrailers(Consumer)
andAdditionalTrailer
are not included in this trailers.- Throws:
Exception
-
fallthrough
static <T> T fallthrough()Throws aFallthroughException
in order to try to convertresult
toHttpResponse
by the next converter.
-