분명 존재하는 projectId 임에도 삭제를 할때 userId를 못찾는 이유..
{
"uprId": 14,
"userId": 23,
"projectId": 43,
"uprRole": "ADMIN"
},
{
"uprId": 101,
"userId": 51,
"projectId": 43,
"uprRole": "Member"
},
{
"uprId": 102,
"userId": 41,
"projectId": 43,
"uprRole": "Member"
},
{
"uprId": 103,
"userId": 44,
"projectId": 43,
"uprRole": "Member"
},
{
"uprId": 104,
"userId": 45,
"projectId": 43,
"uprRole": "Member"
},
{
"uprId": 105,
"userId": 24,
"projectId": 43,
"uprRole": "Member"
}
]
//서비스단까지는 projectId, userId 순서였다가
@Transactional
public int deleteUsersFromProject(int projectId, int userId) {
UserProjectRole existUser = userProjectRoleDao.selectUserProjectRole(projectId, userId);
if (existUser == null) {
throw new IllegalArgumentException("해당 사용자는 프로젝트의 멤버가 아닙니다");
}
if ("ADMIN".equalsIgnoreCase(existUser.getUprRole())) {
int adminCount = getCountProjectAdmins(projectId);
if (adminCount <= 1) {
throw new IllegalStateException("팀장은 직접 삭제할 수 없습니다. 팀장을 변경 후 삭제하세요.");
}
}
//컨트롤러에서 갑자기
// 프로젝터에서 멤버 빼기int userId 먼저 나오니까 못찾음..
@DeleteMapping("/delete")
public String deleteMembers(@RequestParam("userId") int userId, @RequestParam("projectId")int projectId){
userProjectRoleService.deleteUsersFromProject(userId, projectId);
JSONObject jsonObject = new JSONObject();
jsonObject.put("result", "success");
return jsonObject.toString();
}
결론
파라미터 순서를 잘 맞추어 쓰자
'【Spring】' 카테고리의 다른 글
| [spring AI] .content() 사용이유 (0) | 2025.10.22 |
|---|---|
| [반환값] 어떤거를 반환값으로 받아야하는지에 대한 고찰 (0) | 2025.09.28 |
| [Interceptor] (0) | 2025.09.15 |
| [ORM] mybatis 시작하기 부터 구성요소 (0) | 2025.09.01 |
| [RestAPI] update와 select를 구분하자 (0) | 2025.09.01 |