dimanche 7 novembre 2021

When returning a VO from a controller, how do you name it?

When returning a VO from a controller, how do you name it?

Here is my controller source.

@GetMapping(value= "/railInfo.do")
public RailVO getRailInfo(@RequestParam String railId){
    RailVO rail = new RailVO();
    rail.setRailLength("91300");
    rail.setRailDesc("xxx");

    List<RobotVO> robotList = new ArrayList<RobotVO>();
    robot.setStationPosition("21300");
    robot.setStartPosition("0");
    robot.setEndPosition("30000");
    robotList.add(robot);
    robot.setStationPosition("51300");
    robot.setStartPosition("30000");
    robot.setEndPosition("60000");
    robotList.add(robot);
    robot.setStationPosition("81300");
    robot.setStartPosition("60000");
    robot.setEndPosition("91300");
    robotList.add(robot);

    rail.setRobotVO(robotList);

    return rail;
}

Here are the results:

{
    "railLength": "91300",
    "railDesc": "xxx",
    "robotVO": [
        {
            "stationPosition": "21300",
            "startPosition": "0",
            "endPosition": "30000"
        },
        {
            "stationPosition": "51300",
            "startPosition": "30000",
            "endPosition": "60000"
        },
        {
            "stationPosition": "81300",
            "startPosition": "60000",
            "endPosition": "91300"
        }
    ]
}

But the result I want is:

{
    "railLength": "91300",
    "railDesc": "Rails patrolling by robots 1, 2, 3, guard post ~ xx",
    "rbtInfo": [
        "R01":{
            "stationPosition": "21300",
            "startPosition": "0",
            "endPosition": "30000"
        },
        "R02":{
            "stationPosition": "51300",
            "startPosition": "30000",
            "endPosition": "60000"
        },
        "R03":{
            "stationPosition": "81300",
            "startPosition": "60000",
            "endPosition": "91300"
        }
    ]
}

Currently, the data type of robotVO is List<RobotVO>. But I don't want to change this data structure, but I want to give and change the name as above in json.




Aucun commentaire:

Enregistrer un commentaire