前段传这样的JSON参数,后端接口该怎么接收啊


{     "systemNameCH":"采购",     "systemNameEN":"PED_BNN",     "dateTime":"2023-05-08 12:00:01",     "requestDesc":"rvt:文件更新1个,新增1个;fbx:文件更新1个,新增1个;gltf:文件更新1个,新增1个;obj:文件更新1个,新增1个",     "ip":"192.168.56.43",     "port":"21",     "updateContent":     {         "rrt":[{             "version":"PED_BIM_HZL_20230508120001_add",             "dataType":"rvt",             "fileSign":"PED_BIM_HZL",             "remark":"结构",             "changeType":"add",             "dataChangeList":"设施,座椅,",             "updateArea":"车站",             "purposes":"模型",             "updateLocation":"5层",             "updateNumber":"5",             "attrChangeDesc":"无",             "filePath":"/GIS/PED_BIM/20230508120001/",             "files":"PED_BIM_HZL_20230508120001_add.rvt,PED_BIM_HZL_20230508120001_add_1.xml"         }]}}

有在Header里面传"content-type: application/json"吗?
这么长一串,建议使用POST方法,后端Controller方法上使用@PostMapping("/xxuri") 注解,xxuri与你访问后台的uri对应。Controller方法的参数就可以接收到这串内容,接收这串参数的参数类型,可定义为字符串,也可直接用自定义对象,对象结构与这个json串结构对应。


import com.fasterxml.jackson.databind.ObjectMapper;

public class YourController {
    public ResponseEntity<String> yourApi(@RequestBody String json) {
        try {
            ObjectMapper objectMapper = new ObjectMapper();
            JsonNode jsonNode = objectMapper.readTree(json);
            String systemNameCH = jsonNode.get("systemNameCH").asText();
            String systemNameEN = jsonNode.get("systemNameEN").asText();
            String dateTime = jsonNode.get("dateTime").asText();
            String requestDesc = jsonNode.get("requestDesc").asText();
            String ip = jsonNode.get("ip").asText();
            String port = jsonNode.get("port").asText();
            JsonNode updateContent = jsonNode.get("updateContent");
            JsonNode rrt = updateContent.get("rrt").get(0);
            String version = rrt.get("version").asText();
            String dataType = rrt.get("dataType").asText();
            String fileSign = rrt.get("fileSign").asText();
            String remark = rrt.get("remark").asText();
            String changeType = rrt.get("changeType").asText();
            String dataChangeList = rrt.get("dataChangeList").asText();
            String updateArea = rrt.get("updateArea").asText();
            String purposes = rrt.get("purposes").asText();
            String updateLocation = rrt.get("updateLocation").asText();
            String updateNumber = rrt.get("updateNumber").asText();
            String attrChangeDesc = rrt.get("attrChangeDesc").asText();
            String filePath = rrt.get("filePath").asText();
            String files = rrt.get("files").asText();

            // 在这里进行后续的处理

            return ResponseEntity.ok("Success");
        } catch (Exception e) {
            return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Invalid JSON");
        }
    }
}