将 XML 与 Java 相互转换

Convert XML to and from Java

我正在尝试从其他人 API 那里得到 XML 的回应。我从 API 获得了所有客户的 JSON 响应和单个客户的 XML 响应。两种情况的 PFB 屏幕打印:

案例 1:当 URL= http://localhost:8080/spring-crm-rest/api/customers/ 然后我得到 JSON 响应 JSON Response

案例 2:当 URL = http://localhost:8080/spring-crm-rest/api/customers/1 时,我得到 XML 响应 XML Response

请在 URL 下方找到完整的代码,以便在您这边复制相同的代码。 Link 代码:https://drive.google.com/file/d/1fd7DyUsfOvY4fX0nm6j4fzrwxHyg9ZGz/view?usp=sharing

好的,我认为发生这种情况的原因如下: 路径 /spring-crm-rest/api/customers/ 具有 return 类型 List<Customer> -> 默认 java 列为顶级 -> json 结果

/spring-crm-rest/api/customers/1 具有 return 类型 Customer 作为具有 javax.xml.bind 注释的顶层 -> xml 结果

更改此设置可能有点棘手,但您可以尝试以下操作:

  1. 具体设置端点的内容类型如下:@GetMapping(produces = {"application/json"})
  2. 删除 @Xml.* 注释 -> spring 将可以在没有任何注释的情况下序列化 class,但如果没有注释,您将无法控制生成的 json(例如重命名字段等)。根据您的用例,可能不需要它