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>, CustomizableJsonHandler

@Order(-10) @Singleton @ProducesJson @ConsumesJson public final class JsonMessageHandler<T> extends Object implements io.micronaut.http.body.MessageBodyHandler<T>, CustomizableJsonHandler
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)
     
    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
  • 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
    • customize

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