フロント転送json配列、バックグラウンド受信処理

2027 ワード

ここのフロントから届いたjsonデータフォーマットはこうです
[
	{
		"type": 0,
		"stem": "123",
		"deletionFlag": 1,
		"choice": ["A"],
		"postId": "123",
		"solution":["A", "B"],
		"score": 12.12,
		"materialIds": "123"
	},
	{
		"type": 1,
		"stem": "234",
		"deletionFlag": 1,
		"choice": ["A", "B", "C"],
		"postId": "234",
		"solution": ["A", "B"],
		"score": 12.23,
		"materialIds": "234"
	},
	{
		"type": 2,
		"stem": "345",
		"deletionFlag": 1,
		"choice": ["A", "B"],
		"postId": "345",
		"solution":["A", "B"],
		"score": 12.34,
		"materialIds": "345"
	}
]
  • ここでバックグラウンドが直接Listで受信してはいけません.choiceとsolutionのデータも配列なので、直接取ると
  • とエラーが発生します.
  • 思考:json形式がkey/valueであるため、Listで装うことができ、その後keyで対応するタイプの値
  • を取り出す.
        //  
        @RequestMapping(value = "/submit", method = RequestMethod.POST)
        public APIResponseBean saveHomeWork(@RequestBody List> homeworklist) {
    
            if (homeworklist == null) {
                throw new GlobalException(Constants.HTTP_UNPROCESSABLE_ENTITY, "        。");
            }
    
            List saveList = new ArrayList<>();
    
            for (Map homeworkBeanMap : homeworklist) {
                //  
    			// System.out.println(homeworkBean);
    			
                //  id   id           
                String id = (String) homeworkBeanMap.get("id");
                
                /*      */
                ArrayList solutionList = (ArrayList) homeworkBeanMap.get("solution");
                String solution = String.valueOf(solutionList);
                .............................  
            }
    

    パフォーマンスが向上するようにbeanを作成して操作することが望ましい