Skip to content

Commit

Permalink
fix : metadat,project read,delete 시 일치하는 id가 없어도 실행되는 오류 해결
Browse files Browse the repository at this point in the history
기존의 read,delete 호출 시 일치하는 id가 없어도 respond status 가 200으로 응답하는데, 이를 수정함.
  • Loading branch information
LDEV4966 committed Jan 8, 2022
1 parent 173cc7a commit 9800360
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 13 deletions.
Expand Up @@ -46,7 +46,7 @@ public void update(@PathVariable String metadataId,@RequestBody String strBody){
// metadataId를 기반으로 삭제
@DeleteMapping("api/MetaData/{metadataId}")
public void deleteById(@PathVariable String metadataId){
metaDataService.deleteById(metadataId);
metaDataService.delete(metadataId);
}

}
Expand Up @@ -34,8 +34,8 @@ public void update(@PathVariable String projectId , @RequestBody ProjectRequestD

// projectId를 기반으로 Project 삭제 -> 관련 metadata들을 cascade하게 삭제
@DeleteMapping("api/Project/{projectId}")
public void deleteById(@PathVariable String projectId){
projectService.deleteById(projectId);
public void delete(@PathVariable String projectId){
projectService.delete(projectId);
}

}
Expand Up @@ -38,13 +38,15 @@ public class MetaDataService {
@Transactional (readOnly = true)
public List<MetaDataResponseDto> findByProjectId(String projectId) {

projectService.findById(projectId);

List <MetaDataResponseDto> metaResponseDtoList = new ArrayList<MetaDataResponseDto>();
System.out.println(projectId);
List <MetaData> metaDataList = metaDataRepository.findByProjectId(projectId);
System.out.println(metaDataList);
for(MetaData metaData: metaDataList){ // metaDataRepository로 MeataData 정보 받아와서 Dto로 전환 -> 접근성 제한 목적

for(MetaData metaData: metaDataList){
metaResponseDtoList.add(new MetaDataResponseDto(metaData));
}

return metaResponseDtoList;
}

Expand All @@ -58,23 +60,26 @@ public void insert(MetaDataCreateRequestDto metaDataCreateRequestDto){
.projectId(metaDataCreateRequestDto.getProjectId())
.body(metaDataCreateRequestDto.getBody()).build();

metaDataRepository.save(metaData); // Id가 DB에 존재하면 update, 없으면 save
metaDataRepository.save(metaData);
}

@Transactional
public void update(String metadataId, MetaDataUpdateRequestDto metaDataUpdateRequestDto){

MetaData metaData = metaDataRepository.findById(metadataId)
.orElseThrow(()-> new IllegalArgumentException("해당 Id값을 가진 메타데이터 정보가 없습니다."));
.orElseThrow(()-> new IllegalArgumentException("해당 metadataId 값을 가진 메타데이터 정보가 없습니다."));

metaData.update(metaDataUpdateRequestDto.getBody());

metaDataRepository.save(metaData); // Id가 DB에 존재하면 update, 없으면 save
metaDataRepository.save(metaData);
}

@Transactional
public void deleteById(String metadataId){
metaDataRepository.deleteById(metadataId);
public void delete(String metadataId){
MetaData metaData = metaDataRepository.findById(metadataId)
.orElseThrow(()-> new IllegalArgumentException("해당 metadataId 값을 가진 메타데이터 정보가 없습니다."));

metaDataRepository.delete(metaData);
}

}
Expand Up @@ -66,13 +66,16 @@ public void update(String projectId,ProjectRequestDto projectRequestDto){
}

@Transactional
public void deleteById(String projectId){
public void delete(String projectId){

List<MetaData> metaDataList = metaDataRepository.findByProjectId(projectId);

metaDataRepository.deleteAll(metaDataList);

projectRepository.deleteById(projectId);
Project project = projectRepository.findById(projectId)
.orElseThrow(()->new IllegalArgumentException("해당 Id값을 가진 프로젝트 정보가 없습니다."));

projectRepository.delete(project);
}


Expand Down

0 comments on commit 9800360

Please sign in to comment.