관리 메뉴

JIE0025

[Postman][2] id가 1인 카테고리 수정 (컨트롤러 요청메세지 테스트) 본문

백엔드/테스트

[Postman][2] id가 1인 카테고리 수정 (컨트롤러 요청메세지 테스트)

Kangjieun11 2022. 12. 17. 02:46
728x90

 

 

 

카테고리 이름 수정하기를 해볼것이다.

 

 

 

현재 DB에 id가 1인 FLAG 카테고리가 있다.

목표는 해당 카테고리의 이름을 ACTIVITY로 바꾸는것!

 

 

 

⏺ 요청메세지와 body

PATCH http://localhost:8080/1

------ body--------
{
	"name":"ACTIVITY"
}

 

원래코드

디버깅을 해보니 문제가 1개 있었다..! 그건 디버깅하면서 보여주겠음

@Transactional
    public void updateCategory (CategoryDto categoryDto) {

        Category category = categoryRepository.findById(categoryDto.getId()).orElse(null);

        if(category == null) {
            throw new CustomException(ErrorCode.CATEGORY_NOT_EXISTS);
        }

        category.setName(category.getName());
    }

 

🐜 디버깅

category를 잘 가져왔고,

 

 

이부분이 문제였다. category가져온 데이터의 getName을 해버리니 값이 변하지 않고 그대로 세팅되는거지...

 

category.setName(category.getName());

 

결론은 categoryDto를 받은걸로 다시 세팅해주면 완료!

디버깅코드에서도 name ="ACTIVITY" 가 잘 들어간 것을 확인할 수 있다.

 

디버깅 이후 MySQL 체크

 

 

✔️ 개선 이후 마지막으로 한번 더 테스트

 

반영완료 체크

 


 

✔️ 이후에 할일

 

create : depth가 1~3 인 카테고리 추가 (부모는 0번부터 내려가는걸로!)

{
	"id:0,
    "name":"Activity",
    "depth":0
    "children":[
		{
        	"id": 6,
        	"name": "Study",
        	"depth": 1,
        	"children": [
          		{
            		"id": 7,
            		"name": "알고리즘",
            		"depth": 2,
            		"children": [
              			{
                			"id": 8,
                			"name": "개념반",
                			"depth": 3,
                			"children": []
              			}
                    ]
                }
            ]
        }
   ]
}