Class NettyJsonHandler<T>

java.lang.Object
io.micronaut.http.netty.body.NettyJsonHandler<T>
Type Parameters:
T - The type
All Implemented Interfaces:
io.micronaut.http.body.ChunkedMessageBodyReader<T>, io.micronaut.http.body.MessageBodyHandler<T>, io.micronaut.http.body.MessageBodyReader<T>, io.micronaut.http.body.MessageBodyWriter<T>, CustomizableNettyJsonHandler, NettyBodyWriter<T>

@Singleton @Internal @Replaces(io.micronaut.json.body.JsonMessageHandler.class) @Produces({"application/json","text/json","application/hal+json","application/vnd.github+json","application/feed+json","application/json-patch+json","application/merge-patch+json","application/problem+json"}) @Consumes({"application/json","text/json","application/hal+json","application/vnd.github+json","application/feed+json","application/json-patch+json","application/merge-patch+json","application/problem+json"}) @Requires(beans=io.micronaut.json.JsonMapper.class) public final class NettyJsonHandler<T> extends Object implements io.micronaut.http.body.MessageBodyHandler<T>, io.micronaut.http.body.ChunkedMessageBodyReader<T>, CustomizableNettyJsonHandler, NettyBodyWriter<T>
Replacement for JsonMessageHandler with ChunkedMessageBodyReader support.
  • Constructor Summary

    Constructors
    Constructor
    Description
    NettyJsonHandler(io.micronaut.json.JsonMapper jsonMapper)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    io.micronaut.http.body.MessageBodyWriter<T>
    createSpecific(io.micronaut.core.type.Argument<T> type)
     
    customize(io.micronaut.json.JsonFeatures jsonFeatures)
     
    boolean
     
    boolean
    isReadable(io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType)
     
    boolean
    isWriteable(io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType)
     
    read(io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, io.micronaut.core.type.Headers httpHeaders, io.micronaut.core.io.buffer.ByteBuffer<?> byteBuffer)
     
    read(io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, io.micronaut.core.type.Headers httpHeaders, InputStream inputStream)
     
    org.reactivestreams.Publisher<T>
    readChunked(io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, io.micronaut.core.type.Headers httpHeaders, org.reactivestreams.Publisher<io.micronaut.core.io.buffer.ByteBuffer<?>> input)
     
    void
    writeTo(@NonNull io.micronaut.http.HttpRequest<?> request, @NonNull io.micronaut.http.MutableHttpResponse<T> outgoingResponse, @NonNull io.micronaut.core.type.Argument<T> type, @NonNull io.micronaut.http.MediaType mediaType, T object, @NonNull NettyWriteContext nettyContext)
    Write an object to the given context.
    io.micronaut.core.io.buffer.ByteBuffer<?>
    writeTo(io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, T object, io.micronaut.core.type.MutableHeaders outgoingHeaders, io.micronaut.core.io.buffer.ByteBufferFactory<?,?> bufferFactory)
     
    void
    writeTo(io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, T object, io.micronaut.core.type.MutableHeaders outgoingHeaders, OutputStream outputStream)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • NettyJsonHandler

      public NettyJsonHandler(io.micronaut.json.JsonMapper jsonMapper)
  • Method Details

    • customize

      public CustomizableNettyJsonHandler customize(io.micronaut.json.JsonFeatures jsonFeatures)
      Specified by:
      customize in interface CustomizableNettyJsonHandler
    • readChunked

      public org.reactivestreams.Publisher<T> readChunked(io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, io.micronaut.core.type.Headers httpHeaders, org.reactivestreams.Publisher<io.micronaut.core.io.buffer.ByteBuffer<?>> input)
      Specified by:
      readChunked in interface io.micronaut.http.body.ChunkedMessageBodyReader<T>
    • isReadable

      public boolean isReadable(io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType)
      Specified by:
      isReadable in interface io.micronaut.http.body.MessageBodyReader<T>
    • read

      public T read(io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, io.micronaut.core.type.Headers httpHeaders, io.micronaut.core.io.buffer.ByteBuffer<?> byteBuffer) throws io.micronaut.http.codec.CodecException
      Specified by:
      read in interface io.micronaut.http.body.MessageBodyReader<T>
      Throws:
      io.micronaut.http.codec.CodecException
    • read

      public T read(io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, io.micronaut.core.type.Headers httpHeaders, InputStream inputStream) throws io.micronaut.http.codec.CodecException
      Specified by:
      read in interface io.micronaut.http.body.MessageBodyReader<T>
      Throws:
      io.micronaut.http.codec.CodecException
    • isWriteable

      public boolean isWriteable(io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType)
      Specified by:
      isWriteable in interface io.micronaut.http.body.MessageBodyWriter<T>
    • writeTo

      public void writeTo(io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, T object, io.micronaut.core.type.MutableHeaders outgoingHeaders, OutputStream outputStream) throws io.micronaut.http.codec.CodecException
      Specified by:
      writeTo in interface io.micronaut.http.body.MessageBodyWriter<T>
      Throws:
      io.micronaut.http.codec.CodecException
    • writeTo

      public io.micronaut.core.io.buffer.ByteBuffer<?> writeTo(io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, T object, io.micronaut.core.type.MutableHeaders outgoingHeaders, io.micronaut.core.io.buffer.ByteBufferFactory<?,?> bufferFactory) throws io.micronaut.http.codec.CodecException
      Specified by:
      writeTo in interface io.micronaut.http.body.MessageBodyWriter<T>
      Throws:
      io.micronaut.http.codec.CodecException
    • writeTo

      public void writeTo(@NonNull @NonNull io.micronaut.http.HttpRequest<?> request, @NonNull @NonNull io.micronaut.http.MutableHttpResponse<T> outgoingResponse, @NonNull @NonNull io.micronaut.core.type.Argument<T> type, @NonNull @NonNull io.micronaut.http.MediaType mediaType, @NonNull T object, @NonNull @NonNull NettyWriteContext nettyContext) throws io.micronaut.http.codec.CodecException
      Description copied from interface: NettyBodyWriter
      Write an object to the given context.
      Specified by:
      writeTo in interface NettyBodyWriter<T>
      Parameters:
      request - The associated request
      outgoingResponse - The outgoing response.
      type - The type
      mediaType - The media type
      object - The object to write
      nettyContext - The netty context
      Throws:
      io.micronaut.http.codec.CodecException - If an error occurs decoding
    • createSpecific

      public io.micronaut.http.body.MessageBodyWriter<T> createSpecific(io.micronaut.core.type.Argument<T> type)
      Specified by:
      createSpecific in interface io.micronaut.http.body.MessageBodyWriter<T>
    • isBlocking

      public boolean isBlocking()
      Specified by:
      isBlocking in interface io.micronaut.http.body.MessageBodyWriter<T>