본문 바로가기

스프링8

테스트 코드 리팩토링은 필요한가 서론조회와 생성 기능에 대해서 테스트 코드를 작성 했었고, 수정 기능을 구현 한 후, 수정 기능에 대해서 테스트 코드를 추가로 작성하려고 하던 찰나, 갑자기 어지러움을 느꼈다.본론그래서 대충 알고 있던 BeforeEach를 사용해서 맨 처음에 세팅을 한 후, 그 다음 간편하게 테스트코드를 작성하기 위해서 리팩토링을 하려는데문득 든 생각이 그냥 코드도 아니고.. 테스트 코드 리팩토링이 필요한가? 라는 생각이 들었음.. 비효율적인 것 같은 느낌테스트 코드 작성 자체가 개발 속도가 느려지는데 리팩토링까지 하면은 더 느려져서 오히려 생산성이 떨어지지 않을까? 라는 의문원래 코드 @SpringBootTest class RecordServiceTest { @Autowired private Bo.. 2024. 12. 12.
Spring-boot & AWS S3 연동 이미지 업로드 - (2) https://kjy154969.tistory.com/48 - Spring-boot & AWS S3 연동 이미지 업로드 - (1) Spring-boot & AWS S3 연동 이미지 업로드 - (1)S3 란?AWS(아마존 웹 서비스)가 제공하는 클라우드 스토리지 서비스이다. 다양한 유형의 미디어(파일, 데이터 등)를 저장하고 관리하는데 사용되는 웹 기반 스토리지 시스템이다. 저장하는 데이터kjy154969.tistory.com 이전 글에서는 AWS S3 버킷 생성 후 정책 설정까지 완료하였다. 이번에는 스프링 부트와 연동을 해보도록 하자. AWS cloud와 연동시켜서 S3를 사용하기 위해 build.gradle 파일에 해당 코드를 입력해준다.implementation 'org.springframework.. 2024. 4. 28.
Spring-boot & AWS S3 연동 이미지 업로드 - (1) S3 란?AWS(아마존 웹 서비스)가 제공하는 클라우드 스토리지 서비스이다. 다양한 유형의 미디어(파일, 데이터 등)를 저장하고 관리하는데 사용되는 웹 기반 스토리지 시스템이다. 저장하는 데이터 양에 대한 비용이 저렴하고, 저장할 수 있는 데이터의 양도 굉장히 많다고 한다. 스프링 부트와 Amazon S3 연동 프로젝트 진행을 하다가 사용자의 프로필 사진을 저장하는 기능을 구현 하는데에 있어서 사용자가 많아질 경우를 가정해 많은 이미지를 저장을 해도 비용이 저렴하게 나오는 S3를 사용하려고 한다.  S3 버킷 생성오른쪽에 보이는 '버킷 만들기' 버튼을 눌러 생성을 시작해준다.'버킷 이름' 칸에 자신이 짓고자 하는 버킷 이름을 적어준다.객체 소유권은 한 계정에서 관리하기 위해 'ACL 비활성화됨(권장)'을.. 2024. 4. 25.
SpringBoot 축구 팀 CRUD 초초초미니 프로젝트 - 축구팀 삭제기능 구현 삭제도 쉽다! 파라미터 id 값을 받아 서비스에게 넘겨준다. @DeleteMapping("/api/soccer-team/{id}") public ResponseEntity deleteSoccerTeam(@PathVariable Long id){ Team deleted = soccerteamService.deleteSoccerTeam(id); //삭제가 잘 되었는가? return (deleted != null) ? ResponseEntity.status(HttpStatus.NO_CONTENT).build(): ResponseEntity.status(HttpStatus.BAD_REQUEST).body(null); } 서비스에서 deleteSoccerTeam 메서드를 만들어 삭제 기능 구현을 한다. socce.. 2024. 4. 22.
SpringBoot 축구 팀 CRUD 초초초미니 프로젝트 - 축구팀 수정 구현 그동안의 기능을 구현한 과정을 보면 자세한 부분에 있어서는 이제는 이해가 될 것이다. 컨트롤러 id 값과 받은 정보를 받은 dto를 soccerteamService 로 보내주고 해당 서비스에서 요리(데이터 처리)를 해주면 된다. @PatchMapping("/api/soccer-team/{id}") public ResponseEntity createSoccer(@PathVariable Long id, @RequestBody SoccerteamDto dto){ Team updated = soccerteamService.updateSoccerTeam(id, dto); //수정이 잘 되었는가? return (updated != null) ? ResponseEntity.status(HttpStatus.OK).bo.. 2024. 4. 22.
SpringBoot 축구 팀 CRUD 초초초미니 프로젝트 - 축구팀 생성 구현 자 이제 축구팀을 생성할 것인데 여기에는 클라이언트의 body에서 데이터 정보를 입력하면 그것을 받아줄 dto(그릇 이라고 생각하면 됨)를 만들고 dto를 엔티티에 저장 할 예정이다. 실습 해보자 생성은 POST 메서드로 받는다 엔드포인트는 /api/soccor-team 으로 해준다. 여기에 파라미터 값에 body를 받아주기 위해 @RequestBody 어노테이션과 dto인 SoccorteamDto를 이용한다. @PostMapping("/api/soccer-team") public Team soccorTeam(@RequestBody SoccorteamDto dto){ } 서비스에게 데이터를 담은 dto를 넘겨주고, 서비스에게서 create 수행이 잘 되었는지 아닌지 반환을 받고 잘 생성이 되었는지 다시 .. 2024. 4. 22.