【问题标题】:Post processing json in Apache cxf在 Apache cxf 中后处理 json
【发布时间】:2016-02-10 05:13:22
【问题描述】:

我正在使用 Apache cxf 进行休息呼叫。响应如下:

{
    "student_id"  : [1, 2, 3],
    "student_name": ["a", "b", "c"]
}

如何将此 json 映射到 DTO,如下所示?

public class StudentDTO {
    Integer id;
    String name;
}

最终结果需要给我一个StudentDTO列表

1.jackson有没有某种可以处理上述json的mapper?
2. apache cxf 中是否有某种后处理器可以让我操作 json,以便我可以将生成的 json 转换如下:

[
    {
        "student_id": 1,
        "student_name": "a"
    },
    {
        "student_id": 2,
        "student_name": "b"
    },
    {
        "student_id": 3,
        "student_name": "c"
    }
]

List<StudentDTO> students = WebClientFactory.createFrom(dummyClient, "dummyClient").path("students")
                           .getCollection(StudentDTO.class);

【问题讨论】:

    标签: java json spring apache cxf


    【解决方案1】:

    您可以编写自定义 messagebodywriter,尽管它的任务很繁琐。我相信如果允许的话最好改变服务器端的实现,因为设计看起来有缺陷,否则你可以实现适配器/桥设计模式,实现中间类。

    public class StudentDTOIn {
        Integer[] student_id;
        String[] student_name;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-17
      相关资源
      最近更新 更多