org.springframework.http.converter

Interface GenericHttpMessageConverter<T>

    • Method Detail

      • canRead

        boolean canRead(java.lang.reflect.Type type,
                        @Nullable
                        java.lang.Class<?> contextClass,
                        @Nullable
                        MediaType mediaType)
        Indicates whether the given type can be read by this converter. This method should perform the same checks than HttpMessageConverter.canRead(Class, MediaType) with additional ones related to the generic type.
        Parameters:
        type - the (potentially generic) type to test for readability
        contextClass - a context class for the target type, for example a class in which the target type appears in a method signature (can be null)
        mediaType - the media type to read, can be null if not specified. Typically the value of a Content-Type header.
        Returns:
        true if readable; false otherwise
      • read

        T read(java.lang.reflect.Type type,
               @Nullable
               java.lang.Class<?> contextClass,
               HttpInputMessage inputMessage)
        throws java.io.IOException,
               HttpMessageNotReadableException
        Read an object of the given type form the given input message, and returns it.
        Parameters:
        type - the (potentially generic) type of object to return. This type must have previously been passed to the canRead method of this interface, which must have returned true.
        contextClass - a context class for the target type, for example a class in which the target type appears in a method signature (can be null)
        inputMessage - the HTTP input message to read from
        Returns:
        the converted object
        Throws:
        java.io.IOException - in case of I/O errors
        HttpMessageNotReadableException - in case of conversion errors
      • canWrite

        boolean canWrite(@Nullable
                         java.lang.reflect.Type type,
                         java.lang.Class<?> clazz,
                         @Nullable
                         MediaType mediaType)
        Indicates whether the given class can be written by this converter.

        This method should perform the same checks than HttpMessageConverter.canWrite(Class, MediaType) with additional ones related to the generic type.

        Parameters:
        type - the (potentially generic) type to test for writability (can be null if not specified)
        clazz - the source object class to test for writability
        mediaType - the media type to write (can be null if not specified); typically the value of an Accept header.
        Returns:
        true if writable; false otherwise
        Since:
        4.2
      • write

        void write(T t,
                   @Nullable
                   java.lang.reflect.Type type,
                   @Nullable
                   MediaType contentType,
                   HttpOutputMessage outputMessage)
            throws java.io.IOException,
                   HttpMessageNotWritableException
        Write an given object to the given output message.
        Parameters:
        t - the object to write to the output message. The type of this object must have previously been passed to the canWrite method of this interface, which must have returned true.
        type - the (potentially generic) type of object to write. This type must have previously been passed to the canWrite method of this interface, which must have returned true. Can be null if not specified.
        contentType - the content type to use when writing. May be null to indicate that the default content type of the converter must be used. If not null, this media type must have previously been passed to the canWrite method of this interface, which must have returned true.
        outputMessage - the message to write to
        Throws:
        java.io.IOException - in case of I/O errors
        HttpMessageNotWritableException - in case of conversion errors
        Since:
        4.2