UMC🚀

[intellij][spring] 여러 데이터를 한번에 반환하고 싶을 때

개발자 덕구🐾 2022. 2. 1. 22:03
728x90

 

함수들의 반환타입들을 모아 한번에 반환하고 싶을 때는 어떻게 해야할까?

 

새롭게 Res파일을 만들어 인수로 넣어주면 된다!

 

 

 

 

@Getter
@Setter
@AllArgsConstructor
public class PostLetterPlantRes {
    private List<Integer> receiveUserIdx; //전송한 유저idx들
    private PatchModifyScoreRes patchModifyScoreRes; // 화분점수 변경 반환

}

-> 이처럼 PostLetterPlantRes라는 파일을 만들어주어

변수(?)들을 넣고 싶은 파일들로 선언해주고 

 

 

 

// Body에 json 파일 형식으로 넣음
    @ResponseBody
    @PostMapping("")    // POST 방식의 요청을 매핑하기 위한 어노테이션
    public BaseResponse<PostLetterPlantRes> createLetter(@RequestBody PostLetterReq postLetterReq) {

        try{
            List<Integer> receiveUserIdx = letterService.createLetter(postLetterReq); // letter, letterSendList에 컬럼 추가
            // 화분 점수 증가
            PatchModifyScoreRes ModifyScore = plantService.modifyScore_plus(postLetterReq.getUserIdx(), Constant.PLANT_LEVELUP_LETTER,"letter");
            PostLetterPlantRes result_all = new PostLetterPlantRes(receiveUserIdx,ModifyScore ); // new 다음에 대문자여야한다.

            return new BaseResponse<>(result_all);
        } catch (BaseException exception){
            return new BaseResponse<>(exception.getStatus());
        }

    }

컨트롤러에서 new를 이용해 객체에 인수를 주어 생성하여 반환하면 한번에 반환되도록 만들 수 있다. 

 

 

이렇게 코드로 올리니까 생긴게 너무 안이쁘다

 

 

 

 

 

 

반응형