Class JacksonResponseConverterFunction
java.lang.Object
com.linecorp.armeria.server.annotation.JacksonResponseConverterFunction
- All Implemented Interfaces:
ResponseConverterFunction
public final class JacksonResponseConverterFunction
extends Object
implements ResponseConverterFunction
A response converter implementation which creates an
HttpResponse
with
content-type: application/json; charset=utf-8
or content-type: application/json-seq
.
The objects published from a Publisher
or Stream
would be converted into JSON Text Sequences
if a ProducesJsonSequences
annotation is specified on an annotated service method.
Note that this ResponseConverterFunction
is applied to an annotated service by default,
so you don't have to specify this converter explicitly unless you want to use your own ObjectMapper
.-
Constructor Summary
ConstructorDescriptionCreates an instance with the defaultObjectMapper
.Creates an instance with the specifiedObjectMapper
. -
Method Summary
Modifier and TypeMethodDescriptionconvertResponse
(ServiceRequestContext ctx, ResponseHeaders headers, @Nullable Object result, HttpHeaders trailers) ReturnsHttpResponse
instance corresponds to the givenresult
.
-
Constructor Details
-
JacksonResponseConverterFunction
public JacksonResponseConverterFunction()Creates an instance with the defaultObjectMapper
. -
JacksonResponseConverterFunction
Creates an instance with the specifiedObjectMapper
.
-
-
Method Details
-
convertResponse
public HttpResponse convertResponse(ServiceRequestContext ctx, ResponseHeaders headers, @Nullable @Nullable Object result, HttpHeaders trailers) throws Exception Description copied from interface:ResponseConverterFunction
ReturnsHttpResponse
instance corresponds to the givenresult
. CallsResponseConverterFunction.fallthrough()
or throws aFallthroughException
if this converter cannot convert theresult
to theHttpResponse
.- Specified by:
convertResponse
in interfaceResponseConverterFunction
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
-