Spring-boot 应用程序如何知道输入是 XML 或 JSON 有效载荷的形式?

How Spring-boot application will know that input is in the form of XML or JSON payload?

当我们从我们自己的微服务中的任何其他 Service/API 获取输入时,我们的 spring-boot 应用程序将如何知道输入类型是 XML 类型或 JSON 在内部输入 payload。和。如果我想从 XML 转换为 JSON 或相反,它获得实际类型的有效载荷作为输入后,它将如何工作,它是否具有与下面相同的本机方法;

   public static String xml= "<?xml version=\"1.0\" ?><root><test attribute=\"text1\">XML DATA</test><test attribute=\"text2\">DATA DATA</test></root>";  
   JSONObject json = XML.toJSONObject(xml);   
    String jsonString = json.toString(4);  
    System.out.println(jsonString);
     //Convert from XML to JSON

并且在从 XML 转换为 JSON 时,

    JSONObject jsonObject = new JSONObject(jsonString);  
    String xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-15\"?>\n<"+root+">" + XML.toString(jsonObject) + "</"+root+">";  

或者有其他转换方式吗?

我的查询很简单,如何知道输入类型是什么以及我们的应用程序将如何识别它?

您可以读取内容类型请求 header 作为控制器 class 映射方法中的参数:

public class APIController {
                    
  @GetMapping(
  public String getMethod(@RequestBody String body, @RequestHeader("Content-type") String contentType) {
  }
}