将 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 结果
更改此设置可能有点棘手,但您可以尝试以下操作:
- 具体设置端点的内容类型如下:
@GetMapping(produces = {"application/json"})
- 删除
@Xml.*
注释 -> spring 将可以在没有任何注释的情况下序列化 class,但如果没有注释,您将无法控制生成的 json(例如重命名字段等)。根据您的用例,可能不需要它
我正在尝试从其他人 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 结果
更改此设置可能有点棘手,但您可以尝试以下操作:
- 具体设置端点的内容类型如下:
@GetMapping(produces = {"application/json"})
- 删除
@Xml.*
注释 -> spring 将可以在没有任何注释的情况下序列化 class,但如果没有注释,您将无法控制生成的 json(例如重命名字段等)。根据您的用例,可能不需要它