Class JsonMessageHandler<T>

java.lang.Object
io.micronaut.json.body.JsonMessageHandler<T>
Type Parameters:
T - The type to read/write
All Implemented Interfaces:
io.micronaut.http.body.MessageBodyHandler<T>, io.micronaut.http.body.MessageBodyReader<T>, io.micronaut.http.body.MessageBodyWriter<T>, io.micronaut.http.body.ResponseBodyWriter<T>, CustomizableJsonHandler

@Order(-10) @Singleton @ProducesJson @ConsumesJson public final class JsonMessageHandler<T> extends Object implements io.micronaut.http.body.MessageBodyHandler<T>, CustomizableJsonHandler, io.micronaut.http.body.ResponseBodyWriter<T>
Body handler for JSON.
Since:
4.0.0
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static @interface 
    A Consumes with JSON supported types.
    static @interface 
    A Produces with JSON supported types.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    The JSON handler should be preferred if for any type.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    createSpecific(io.micronaut.core.type.Argument<T> type)
     
    customize(JsonFeatures jsonFeatures)
     
    Get the json mapper used by this handler.
    boolean
    isReadable(io.micronaut.core.type.Argument<T> type, @Nullable io.micronaut.http.MediaType mediaType)
     
    boolean
    isWriteable(io.micronaut.core.type.Argument<T> type, @Nullable io.micronaut.http.MediaType mediaType)
     
    @Nullable T
    read(io.micronaut.core.type.Argument<T> type, @Nullable io.micronaut.http.MediaType mediaType, io.micronaut.core.type.Headers httpHeaders, io.micronaut.core.io.buffer.ByteBuffer<?> byteBuffer)
     
    @Nullable T
    read(io.micronaut.core.type.Argument<T> type, @Nullable io.micronaut.http.MediaType mediaType, io.micronaut.core.type.Headers httpHeaders, InputStream inputStream)
     
    io.micronaut.http.body.CloseableByteBody
    writePiece(io.micronaut.http.body.ByteBodyFactory bodyFactory, io.micronaut.http.HttpRequest<?> request, io.micronaut.http.HttpResponse<?> response, io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, T object)
     
    void
    writeTo(io.micronaut.core.type.Argument<T> type, @Nullable io.micronaut.http.MediaType mediaType, T object, io.micronaut.core.type.MutableHeaders outgoingHeaders, OutputStream outputStream)
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.micronaut.http.body.MessageBodyWriter

    isBlocking, writeTo

    Methods inherited from interface io.micronaut.http.body.ResponseBodyWriter

    write
  • Field Details

    • ORDER

      public static final int ORDER
      The JSON handler should be preferred if for any type.
      See Also:
  • Constructor Details

    • JsonMessageHandler

      public JsonMessageHandler(JsonMapper jsonMapper)
  • Method Details

    • getJsonMapper

      public JsonMapper getJsonMapper()
      Get the json mapper used by this handler.
      Returns:
      The mapper
    • isReadable

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

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

      public @Nullable T read(io.micronaut.core.type.Argument<T> type, @Nullable 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 @Nullable T read(io.micronaut.core.type.Argument<T> type, @Nullable 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, @Nullable 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, @Nullable 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
    • writePiece

      public io.micronaut.http.body.CloseableByteBody writePiece(io.micronaut.http.body.ByteBodyFactory bodyFactory, io.micronaut.http.HttpRequest<?> request, io.micronaut.http.HttpResponse<?> response, io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, T object) throws io.micronaut.http.codec.CodecException
      Specified by:
      writePiece in interface io.micronaut.http.body.ResponseBodyWriter<T>
      Throws:
      io.micronaut.http.codec.CodecException
    • customize

      public CustomizableJsonHandler customize(JsonFeatures jsonFeatures)
      Specified by:
      customize in interface CustomizableJsonHandler