FastJsonHttpMessageConverterTest.java 文件源码

java
阅读 105 收藏 0 点赞 0 评论 0

项目:GitHub 作者:
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);

    }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号