objectMapper.canSerialize SpringMVC实体转JSON字符串

 

springMVC中将实体转换为json方法中,判断是否可以写入

org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter#canWrite

其中第173行

this.objectMapper.canSerialize(clazz, causeRef)

,判断是否可以序列化指定类。

 

判断是否可以序列化指定实体类.

    /**
     * Method that can be called to check whether mapper thinks
     * it could serialize an instance of given Class.
     * Check is done
     * by checking whether a serializer can be found for the type.
     *<p>
     * NOTE: since this method does NOT throw exceptions, but internal
     * processing may, caller usually has little information as to why
     * serialization would fail. If you want access to internal {@link Exception},
     * call {@link #canSerialize(Class, AtomicReference)} instead.
     *
     * @return True if mapper can find a serializer for instances of
     *  given class (potentially serializable), false otherwise (not
     *  serializable)
     */
    public boolean canSerialize(Class<?> type) {
        return _serializerProvider(getSerializationConfig()).hasSerializerFor(type, null);
    }

    /**
     * Method similar to {@link #canSerialize(Class)} but that can return
     * actual {@link Throwable} that was thrown when trying to construct
     * serializer: this may be useful in figuring out what the actual problem is.
     * 
     * @since 2.3
     */
    public boolean canSerialize(Class<?> type, AtomicReference<Throwable> cause) {
        return _serializerProvider(getSerializationConfig()).hasSerializerFor(type, cause);
    }

  

 

posted @ 2020-01-07 16:21  GordonDicaprio  阅读(430)  评论(0编辑  收藏