apache CXF如何将POST方法传进来的json数据自动变成对象?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

apache CXF如何将POST方法传进来的json数据自动变成对象?

@PUT
    @Path("/customers/")
    public Response updateCustomer(Customer customer) {
        System.out.println("----invoking updateCustomer, Customer name is: " + customer.getName());
        Customer c = customers.get(customer.getId());
        Response r;
        if (c != null) {
            customers.put(customer.getId(), customer);
            r = Response.ok().build();
        } else {
            r = Response.notModified().build();
        }
        return r;
    }

这是我在apache cxf上面的sample上看见的。客户端传递了这样一个xml文件到服务器:

Jack

这样,apache cxf 就自动将 这个xml文件转成了对象。(参数是Customer customer)
如果是传递一个json对象,怎么做才能自动的转换成一个对象呢?是不是apache cxf里面有一个拦截器可以做到这一点?

展开
收起
蛮大人123 2016-02-28 16:59:57 5243 0
1 条回答
写回答
取消 提交回答
  • 蛮大人123
    我说我不帅他们就打我,还说我虚伪

    简单来说你需要提供一个json处理器,比如jackson

    <jaxrs:providers>
       <bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>
    </jaxrs:providers>

    然后在方法上加上注解:
    @Consumes(MediaType.APPLICATION_JSON)
    提示cxf处理json。
    详细可以参考:http://cxf.apache.org/docs/jax-rs-data-bindings.html

    2019-07-17 18:49:48
    赞同 展开评论 打赏
问答排行榜
最热
最新
相关电子书
更多
Apache Wicket User Guide - Ref
立即下载
《Apache RocketMQ 源码解析》
立即下载
《Apache Flink-重新定义计算》PDF下载
立即下载