본문 바로가기
Spring

[Spring] 매개변수 순서와 데이터 바인딩

by 소금_msg 2022. 10. 4.

파라미터를 2개 넘기던 중 두 변수의 이름이 모호해 이름을 바꾸었다.

 

 

MypageController

	/**
     * 친구 찾기
     */
    @ResponseBody
    @GetMapping(value = "/searchFriend.do")
    public Map<String,String> searchFriend(String friendId, HttpServletRequest request, HttpServletResponse response) throws IOException {

        friendId = request.getParameter("userId");

        HttpSession session = request.getSession(true);
        String userId = (String)session.getAttribute(SessionConstant.LOGIN_MEMBER);

        System.out.println("Controller 친구찾기 friendId : " + friendId);
        System.out.println("Controller 내아이디 userId : " + userId);

        Optional isFriend = mypageService.existFriend(userId,friendId);

        // 자기자신을 친구로 조회할 경우
        if(friendId.equals(userId)){

            HashMap<String,String> errorCode =  new HashMap<String,String>();
            String code = "자기자신은 친구 추가할 수 없습니다";
            errorCode.put("code",code);
            return errorCode;

        }else if(isFriend.isPresent()){
            HashMap<String,String> errorCode =  new HashMap<String,String>();
            String code = "이미 추가된 친구입니다.";
            errorCode.put("code",code);
            return errorCode;
        }else{
            HashMap<String,String> foundFriend =  new HashMap<String,String>();
            String friend = mypageService.searchFriend(friendId);
            foundFriend.put("friend",friend);


            JSONObject json = new JSONObject(foundFriend);
            System.out.println(String.valueOf(json));

            return foundFriend;
        }

    }

 

(수정 전)

MypageService

    public Optional existFriend(String friendId, String userId) {
        Optional isFriend = mypageRepository.findByFriendIdIs(userId,friendId);
        System.out.println("service friendId : "+friendId );
        System.out.println("service userId : "+userId );
        return isFriend;
    }

 

Controller에서는 제대로 찍히는데

Service에서는 콘솔창에 friendId와 userId의 값이 서로 바뀌어있는거다....

Controller에서 넘긴것과 순서가 같게끔 매개변수 순서를 바꾸어줌.

 

(컨트롤러)Optional isFriend = mypageService.existFriend(userId,friendId);

(서비스)public Optional existFriend(String friendId, String userId)>    (String userId, String friendId) 

 

(수정 후)

MypageService

    public Optional existFriend(String userId, String friendId) {
        Optional isFriend = mypageRepository.findByFriendIdIs(userId,friendId);
        System.out.println("service friendId : "+friendId );
        System.out.println("service userId : "+userId );
        return isFriend;
    }

 

성공!

 

'Spring' 카테고리의 다른 글

[에러뽀개기] 중복된 빈 객체 오류 없애기  (0) 2021.12.14
[Spring] 자바빈 객체  (0) 2021.12.09
[Spring]service와 mapperdao 같은 이유  (0) 2021.11.30
[Spring]RequestBody,ResponseBody  (0) 2021.11.29
[Spring]@Autowired 없을때  (0) 2021.11.24