Java 类com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter 实例源码

项目:GitHub    文件:FastJsonHttpMessageConverterCase2Test.java   
@Test
    public void test8_2() throws Exception {
//        ResultActions actions = mockMvc.perform((post("/jsonp-fastjsonview/test8?callback=fnUpdateSome").characterEncoding(
//                "UTF-8")));
//        actions.andDo(print());
//        actions.andExpect(status().isOk()).andExpect(content().contentType(APPLICATION_JAVASCRIPT))
//                .andExpect(content().string("fnUpdateSome({\"id\":100,\"name\":\"测试\"})"));

        MvcResult mvcResult = mockMvc.perform(post("/jsonp-fastjsonview/test8?callback=fnUpdateSome").characterEncoding("UTF-8"))
                .andExpect(request().asyncStarted())
                .andReturn();


        mockMvc.perform(asyncDispatch(mvcResult))
                .andExpect(status().isOk())
                .andExpect(content().contentType(FastJsonHttpMessageConverter.APPLICATION_JAVASCRIPT))
                .andExpect(content().string("/**/fnUpdateSome({})"));
    }
项目:springboot_op    文件:FastJsonConfiguration.java   
/**
 * 修改自定义消息转换器
 * @param converters 消息转换器列表
 */
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    //调用父类的配置
    super.configureMessageConverters(converters);
    //创建fastJson消息转换器
    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();

    //处理中文乱码问题
    List<MediaType> fastMediaTypes = new ArrayList<>();
    fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
    fastConverter.setSupportedMediaTypes(fastMediaTypes);

    //创建配置类
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    //修改配置返回内容的过滤
    fastJsonConfig.setSerializerFeatures(
            SerializerFeature.DisableCircularReferenceDetect,
            SerializerFeature.WriteMapNullValue,
            SerializerFeature.WriteNullStringAsEmpty
    );
    fastConverter.setFastJsonConfig(fastJsonConfig);

    //将fastjson添加到视图消息转换器列表内
    converters.add(fastConverter);
}
项目:sns-todo    文件:WebMvcConfig.java   
private FastJsonHttpMessageConverter fastJsonHttpMessageConverter() {
    FastJsonHttpMessageConverter httpMessageConverter = new FastJsonHttpMessageConverter();
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    fastJsonConfig.setSerializerFeatures(SerializerFeature.QuoteFieldNames,
            SerializerFeature.WriteEnumUsingToString,
            SerializerFeature.WriteMapNullValue,
            SerializerFeature.WriteDateUseDateFormat);
    fastJsonConfig.setSerializeFilters(new ValueFilter() {
        @Override
        public Object process(Object o, String s, Object source) {
            if (source == null) {
                return "";
            }
            if (source instanceof Date) {
                return ((Date) source).getTime();
            }
            return source;
        }
    });
    httpMessageConverter.setFastJsonConfig(fastJsonConfig);
    return httpMessageConverter;
}
项目:ontology_setting    文件:FastJsonConfiguration.java   
/**
 * 修改自定义消息转换器
 * @param converters 消息转换器列表
 */
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    //调用父类的配置
    super.configureMessageConverters(converters);
    //创建fastJson消息转换器
    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();

    //处理中文乱码问题
    List<MediaType> fastMediaTypes = new ArrayList<>();
    fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
    fastConverter.setSupportedMediaTypes(fastMediaTypes);

    //创建配置类
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    //修改配置返回内容的过滤
    fastJsonConfig.setSerializerFeatures(
            SerializerFeature.DisableCircularReferenceDetect,
            SerializerFeature.WriteMapNullValue,
            SerializerFeature.WriteNullStringAsEmpty
    );
    fastConverter.setFastJsonConfig(fastJsonConfig);

    //将fastjson添加到视图消息转换器列表内
    converters.add(fastConverter);
}
项目:spring-boot    文件:WebMVCConfig.java   
/**
 * 自定义 一个 json 转换器
 * 详见 fast json 官方文档
 *
 * @return
 */
private HttpMessageConverter getFastJsonConverter() {
    FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
    //自定义配置...
    com.alibaba.fastjson.support.config.FastJsonConfig config = new com.alibaba.fastjson.support.config.FastJsonConfig();
    SerializerFeature[] features = {
            SerializerFeature.DisableCircularReferenceDetect,
            SerializerFeature.WriteDateUseDateFormat,
            SerializerFeature.PrettyFormat};
    config.setSerializerFeatures(features);
    config.setDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
    config.setCharset(StandardCharsets.UTF_8);
    converter.setFastJsonConfig(config);
    return converter;

}
项目:easyweb    文件:WebConfig.java   
/**
 * 配置使用springmvc fastjson
 * @return
 */
@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
    fastConverter.setFastJsonConfig(fastJsonConfig);
    HttpMessageConverter<?> converter = fastConverter;
    return new HttpMessageConverters(converter);
}
项目:springbootWeb    文件:MessageConverterConfig.java   
@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
    //处理中文乱码
    List<MediaType> fastMediaTypes = new ArrayList<>();
    fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
    fastConverter.setSupportedMediaTypes(fastMediaTypes);
    return new HttpMessageConverters((HttpMessageConverter<?>) fastConverter);
}
项目:spring-boot-frameset    文件:MyWebMvcConfigurerAdapter.java   
/**
 * 配置fastJson
 * @param converters
 */
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
    fastConverter.setFastJsonConfig(fastJsonConfig);
    converters.add(fastConverter);
    super.configureMessageConverters(converters);
}
项目:spring-boot-frameset    文件:MyWebMvcConfigurerAdapter.java   
/**
 * 配置fastJson
 * @param converters
 */
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
    fastConverter.setFastJsonConfig(fastJsonConfig);
    converters.add(fastConverter);
    super.configureMessageConverters(converters);
}
项目:jbase    文件:MvcConfig.java   
@Bean
public FastJsonHttpMessageConverter fastJsonHttpMessageConverters() {
    ParserConfig.getGlobalInstance().setAutoTypeSupport(true);

    FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
    FastJsonConfig fastJsonConfig = new FastJsonConfig();
    fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
    fastConverter.setFastJsonConfig(fastJsonConfig);

    return fastConverter;
}
项目:GitHub    文件:Issue1405.java   
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
    converters.add(converter);
}
项目:GitHub    文件:Issue1367.java   
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
    converters.add(converter);
}
项目:GitHub    文件:FastJsonHttpMessageConverterJSONPCaseTest.java   
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
    converters.add(0, new FastJsonHttpMessageConverter());
    super.extendMessageConverters(converters);
}
项目:GitHub    文件:FastJsonHttpMessageConverterCase2Test.java   
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
    converters.add(0, new FastJsonHttpMessageConverter());
    super.extendMessageConverters(converters);
}
项目:GitHub    文件:FastJsonHttpMessageConverterCase2Test.java   
@Test
public void test8() throws Exception {
    mockMvc.perform(
            (post("/jsonp-fastjsonview/test8").characterEncoding("UTF-8")
                    .contentType(FastJsonHttpMessageConverter.APPLICATION_JAVASCRIPT))).andExpect(status().isOk()).andDo(print());
}
项目:GitHub    文件:FastJsonHttpMessageConverterTest.java   
@SuppressWarnings("deprecation")
public void test_read() throws Exception {
    FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
    converter.setCharset(Charset.forName("UTF-8"));
    Assert.assertEquals(Charset.forName("UTF-8"), converter.getCharset());

    converter.setFeatures(SerializerFeature.BrowserCompatible);
    Assert.assertEquals(1, converter.getFeatures().length);
    Assert.assertEquals(SerializerFeature.BrowserCompatible,
            converter.getFeatures()[0]);

    Assert.assertNull(converter.getDateFormat());
    converter.setDateFormat("yyyyMMdd");

    converter.setFilters(serializeFilter);
    Assert.assertEquals(1, converter.getFilters().length);
    Assert.assertEquals(serializeFilter, converter.getFilters()[0]);

    converter.addSerializeFilter(serializeFilter);
    Assert.assertEquals(2, converter.getFilters().length);
    converter.addSerializeFilter(null);

    converter.setSupportedMediaTypes(Arrays
            .asList(new MediaType[] { MediaType.APPLICATION_JSON_UTF8 }));
    Assert.assertEquals(1, converter.getSupportedMediaTypes().size());

    Method method = FastJsonHttpMessageConverter.class.getDeclaredMethod(
            "supports", Class.class);
    method.setAccessible(true);
    method.invoke(converter, int.class);

    HttpInputMessage input = new HttpInputMessage() {

        public HttpHeaders getHeaders() {
            // TODO Auto-generated method stub
            return null;
        }

        public InputStream getBody() throws IOException {
            return new ByteArrayInputStream("{\"id\":123}".getBytes(Charset
                    .forName("UTF-8")));
        }

    };
    VO vo = (VO) converter.read(VO.class, input);
    Assert.assertEquals(123, vo.getId());

    final ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
    HttpOutputMessage out = new HttpOutputMessage() {

        public HttpHeaders getHeaders() {
            return new HttpHeaders();
        }

        public OutputStream getBody() throws IOException {
            return byteOut;
        }
    };
    converter.write(vo, MediaType.TEXT_PLAIN, out);

    byte[] bytes = byteOut.toByteArray();
    Assert.assertEquals("{\"id\":\"123\"}", new String(bytes, "UTF-8"));
}
项目:GitHub    文件:FastJsonHttpMessageConverterTest.java   
public void test_1() throws Exception {

        FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();

        Assert.assertNotNull(converter.getFastJsonConfig());
        converter.setFastJsonConfig(new FastJsonConfig());

        converter.canRead(VO.class, MediaType.APPLICATION_JSON_UTF8);
        converter.canWrite(VO.class, MediaType.APPLICATION_JSON_UTF8);
        converter.canRead(VO.class, VO.class, MediaType.APPLICATION_JSON_UTF8);
        converter.canWrite(VO.class, VO.class, MediaType.APPLICATION_JSON_UTF8);

        HttpInputMessage input = new HttpInputMessage() {

            public HttpHeaders getHeaders() {
                // TODO Auto-generated method stub
                return null;
            }

            public InputStream getBody() throws IOException {
                return new ByteArrayInputStream("{\"id\":123}".getBytes(Charset
                        .forName("UTF-8")));
            }

        };
        VO vo = (VO) converter.read(VO.class, VO.class, input);
        Assert.assertEquals(123, vo.getId());

        final ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
        HttpOutputMessage out = new HttpOutputMessage() {

            public HttpHeaders getHeaders() {
                return new HttpHeaders();
            }

            public OutputStream getBody() throws IOException {
                return byteOut;
            }
        };
        converter.write(vo, VO.class, MediaType.TEXT_PLAIN, out);

        byte[] bytes = byteOut.toByteArray();
        Assert.assertEquals("{\"id\":123}", new String(bytes, "UTF-8"));

        converter.setSupportedMediaTypes(Collections
                .singletonList(MediaType.APPLICATION_JSON));

        converter.write(vo, VO.class, null, out);

        converter.write(vo, VO.class, MediaType.ALL, out);

        HttpOutputMessage out2 = new HttpOutputMessage() {

            public HttpHeaders getHeaders() {

                return new HttpHeaders() {

                    private static final long serialVersionUID = 1L;

                    @Override
                    public MediaType getContentType() {

                        return MediaType.APPLICATION_JSON;
                    }

                    @Override
                    public long getContentLength() {

                        return 1;
                    }
                };
            }

            public OutputStream getBody() throws IOException {
                return byteOut;
            }
        };

        converter.write(vo, VO.class, MediaType.ALL, out2);

    }
项目:eagle-oj-api    文件:WebMvcConfigurer.java   
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
    converters.add(converter);
}
项目:configx    文件:ConfigServicePropertySourceLocator.java   
public ConfigServicePropertySourceLocator(ConfigClientProperties clientProperties) {
    this.clientProperties = clientProperties;
    restTemplate = new RestTemplate();
    restTemplate.getMessageConverters().add(new FastJsonHttpMessageConverter());
}
项目:myfavor    文件:WebMvcConfigurer.java   
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    FastJsonHttpMessageConverter converter= new FastJsonHttpMessageConverter(); 
    converters.add(converter);
}
项目:tasfe-framework    文件:HttpClientTemplate.java   
private HttpClientTemplate() {
    // 长连接保持30秒
    PoolingHttpClientConnectionManager pollingConnectionManager = new PoolingHttpClientConnectionManager(timeToLive, TimeUnit.SECONDS);
    // 总连接数
    pollingConnectionManager.setMaxTotal(maxTotal);
    // 同路由的并发数
    pollingConnectionManager.setDefaultMaxPerRoute(defaultMaxPerRoute);
    HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
    httpClientBuilder.setConnectionManager(pollingConnectionManager);
    // 重试次数,默认是3次,没有开启
    httpClientBuilder.setRetryHandler(new DefaultHttpRequestRetryHandler(retryCount, requestSentRetryEnabled));
    // 保持长连接配置,需要在头添加Keep-Alive
    httpClientBuilder.setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy());

    List<Header> headers = new ArrayList<>();
    // 参考:http://www.cnblogs.com/sink_cup/archive/2011/03/15/http_user_agent.html
    // headers.add(new BasicHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36"));
    // 不需要设置,可能会乱码,请参考:http://www.crifan.com/set_accept_encoding_header_to_gzip_deflate_return_messy_code/
    // headers.add(new BasicHeader("Accept-Encoding", "gzip,deflate"));
    // headers.add(new BasicHeader("Accept-Language", "zh-CN"));
    headers.add(new BasicHeader("Connection", "Keep-Alive"));
    httpClientBuilder.setDefaultHeaders(headers);
    HttpClient httpClient = httpClientBuilder.build();

    // httpClient连接配置,底层是配置RequestConfig
    HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
    // 连接超时
    clientHttpRequestFactory.setConnectTimeout(connectTimeout);
    // 数据读取超时时间,即SocketTimeout
    clientHttpRequestFactory.setReadTimeout(readTimeout);
    // 连接不够用的等待时间,不宜过长,必须设置,比如连接不够用时,时间过长将是灾难性的
    clientHttpRequestFactory.setConnectionRequestTimeout(connectionRequestTimeout);
    // 缓冲请求数据,默认值是true。通过POST或者PUT大量发送数据时,建议将此属性更改为false,以免耗尽内存。
    if (!bufferRequestBody) {
        clientHttpRequestFactory.setBufferRequestBody(false);
    }
    // 添加内容转换器
    // List<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
    messageConverters.add(new FastJsonHttpMessageConverter());
    messageConverters.add(new StringHttpMessageConverter(Charset.forName(charset)));
    messageConverters.add(new ByteArrayHttpMessageConverter());
    super.setMessageConverters(messageConverters);
    super.setRequestFactory(clientHttpRequestFactory);
    super.setErrorHandler(new DefaultResponseErrorHandler());
}
项目:api-server-seed    文件:FastJSONConfig.java   
@Bean
public HttpMessageConverters customConverters() {
    HttpMessageConverter<?> additional = new FastJsonHttpMessageConverter();
    return new HttpMessageConverters(additional);
}
项目:java-fast-framework    文件:SpringConf.java   
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
    // 添加JSON支持
    converters.add(new FastJsonHttpMessageConverter());
}
项目:spring4-2015    文件:WebConfig.java   
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
    converters.add(new FastJsonHttpMessageConverter());
}