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(@NonNull io.micronaut.core.type.Argument<T> type)
     
    customize(JsonFeatures jsonFeatures)
     
    @NonNull JsonMapper
    Get the json mapper used by this handler.
    boolean
    isReadable(@NonNull io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType)
     
    boolean
    isWriteable(@NonNull io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType)
     
    read(@NonNull io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, @NonNull io.micronaut.core.type.Headers httpHeaders, @NonNull io.micronaut.core.io.buffer.ByteBuffer<?> byteBuffer)
     
    read(@NonNull io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, @NonNull io.micronaut.core.type.Headers httpHeaders, @NonNull InputStream inputStream)
     
    @NonNull io.micronaut.http.body.CloseableByteBody
    writePiece(@NonNull io.micronaut.http.body.ByteBodyFactory bodyFactory, @NonNull io.micronaut.http.HttpRequest<?> request, @NonNull io.micronaut.http.HttpResponse<?> response, @NonNull io.micronaut.core.type.Argument<T> type, @NonNull io.micronaut.http.MediaType mediaType, T object)
     
    void
    writeTo(io.micronaut.core.type.Argument<T> type, @NonNull io.micronaut.http.MediaType mediaType, T object, io.micronaut.core.type.MutableHeaders outgoingHeaders, @NonNull OutputStream outputStream)
     

    Methods inherited from class java.lang.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

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

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

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

      public T read(@NonNull @NonNull io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, @NonNull @NonNull io.micronaut.core.type.Headers httpHeaders, @NonNull @NonNull 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(@NonNull @NonNull io.micronaut.core.type.Argument<T> type, io.micronaut.http.MediaType mediaType, @NonNull @NonNull io.micronaut.core.type.Headers httpHeaders, @NonNull @NonNull 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(@NonNull @NonNull 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, @NonNull @NonNull io.micronaut.http.MediaType mediaType, T object, io.micronaut.core.type.MutableHeaders outgoingHeaders, @NonNull @NonNull 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

      @NonNull public @NonNull io.micronaut.http.body.CloseableByteBody writePiece(@NonNull @NonNull io.micronaut.http.body.ByteBodyFactory bodyFactory, @NonNull @NonNull io.micronaut.http.HttpRequest<?> request, @NonNull @NonNull io.micronaut.http.HttpResponse<?> response, @NonNull @NonNull io.micronaut.core.type.Argument<T> type, @NonNull @NonNull 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