본문 바로가기
일기/항해99

[항해99 6기] 실전프로젝트 - 예외성 검사 & 새로운 문제

by 고구밍 2022. 4. 29.

1. 거래내역 조회하기 (검증)

더보기

 

유저 1 : 1~6번

유저 2 : 7~11번

유저 3 : 12~15번

 

물품을 가지고 있을 경우

 

거래내역 1번

<바이어 / 셀러>

유저1 / 유저2

1,2,3 / 7,8

 

거래내역 2번

<바이어 / 셀러>

유저3 / 유저2

15,14 / 9,10

 

거래내역 3번

<바이어 / 셀러>

유저3 / 유저1

12,13 / 4,5,6

 

 

일 경우 유저1번의 거래내역을 조회 할 때 거래내역 1, 3번에 해당합니다.

-> 거래내역에 해당하는 내 물품과 상대방의 물품을 구별해서 보내줘야합니다.

검증하기 코드

더보기

[
    {
        "barterId": 1,
        "myItem": [
            {
                "itemId": 1,
                "title": "1번",
                "itemImg": "ㅁㄴㅇㄹ",
                "date": "2022-04-27T18:58:24.429",
                "status": "qwer"
            },
            {
                "itemId": 2,
                "title": "1번",
                "itemImg": "하하하핫",
                "date": "2022-04-27T18:58:24.429",
                "status": "qwer"
            },
            {
                "itemId": 3,
                "title": "1번",
                "itemImg": "ㅁㄴㅇㄹ",
                "date": "2022-04-27T18:58:24.429",
                "status": "qwer"
            }
        ],
        "barterList": [
            {
                "itemId": 7,
                "title": "2번",
                "itemImg": "ㅁㄴㅇㄹ",
                "date": "2022-04-27T18:58:24.429",
                "status": "qwer"
            },
            {
                "itemId": 8,
                "title": "2번",
                "itemImg": "ㅁㄴㅇㄹ",
                "date": "2022-04-27T18:58:24.429",
                "status": "qwer"
            }
        ]
    },
    {
        "barterId": 3,
        "myItem": [
            {
                "itemId": 4,
                "title": "1번",
                "itemImg": "ㅁㄴㅇㄹ",
                "date": "2022-04-27T18:58:24.429",
                "status": "qwer"
            },
            {
                "itemId": 5,
                "title": "1번",
                "itemImg": "ㅁㄴㅇㄹ",
                "date": "2022-04-27T18:58:24.429",
                "status": "qwer"
            },
            {
                "itemId": 6,
                "title": "1번",
                "itemImg": "ㅁㄴㅇㄹ",
                "date": "2022-04-27T18:58:24.429",
                "status": "qwer"
            }
        ],
        "barterList": [
            {
                "itemId": 12,
                "title": "3번",
                "itemImg": "ㅁㄴㅇㄹ",
                "date": "2022-04-27T18:58:24.429",
                "status": "qwer"
            },
            {
                "itemId": 13,
                "title": "3번",
                "itemImg": "ㅁㄴㅇㄹ",
                "date": "2022-04-27T18:58:24.429",
                "status": "qwer"
            }
        ]
    }
]

 

 

2. 잘못된 거래내역 주소로 조회가 요청 (예외)

더보기

 

 

유저 2번는 BarterId가 1에만 해당되지만

-> "BarterId" : 2라는 정보로 요청 했을 경우

-> 상대방의 정보가 노출이되는 문제

 

 

유저의 전체 거래내역

-> 바이어이거나 셀러일 때 UserId가 해당하는 거래내역리스트를 조회하여

-> eachBarter에 하나씩 대입한 뒤, 요청들어온 barterId가 일치하지 않는다면 예외처리하였습니다.

 

 

 

3. 새로운 문제

더보기

 

 

거래완료이후 서로 매너를 평가하게 되는데

-> 하나의 거래에 대해서 같은 상대를 평가하는 주소를

-> 사용자가 악의적으로 중복 요청하게 되었을 때

-> 평가의 중복여부를 확인하지 못함 ( 방어 불가 )

 

유저가 평가를 했는지에 대한 검증조건을 추가해야 함