Spring
-
에러핸들링 : GlobalExceptionHandlerSpring 2022. 4. 28. 19:59
잘못된 요청이 들어왔을때 에러를 반환해야한다. 에러를 분기처리 해주는 클래스를 작성하고 @RestControllerAdvice 를 붙여주면 에러 핸들링이 가능하다. GlobalExceptionHandler.java import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.validation.BindException; import org.springframework.web.bind.MethodArgumentNotV..
-
스프링부트 2.6 과 Swagger-ui 가 호환 안되는 문제Spring 2022. 4. 26. 17:49
스프링 부트 2.6 으로 진행하는 프로젝트에서 스웨거를 적용하려는 문제가 발생하였다. NullPointerException 이 나면서 springfox가 DI 되지 않는것 같은데 스프링 부트 2.6과 springfox가 호환되지 않는것 같다. @Component public class SwaggerConfig extends WebMvcConfigurationSupport { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/swagger-ui/**").addResourceLocations("classpath:/META-INF/resources/webjars/spr..
-
페이징 처리Spring 2022. 4. 26. 17:34
페이징은 db 조회 결과를 특정한 갯수로 모아서 반환해준다. public interface PlaceRepository extends JpaRepository,placeRepositoryCustom { Page findAllByCategoryAndRegion1AndRegion2In(Pageable pageable,String category, String region1, String[] region2); Page findAllByCategoryAndRegion1(Pageable pageable,String category, String regio n1); } 스프링 데이터 JPA 에서는 페이징을 쉽게 구현하도록 인터페이스를 제공해준다. JpaRepository를 해당 리포지토리에 상속되도록 하면 List..
-
API 명세서Spring 2022. 4. 19. 14:19
목차 1. API 명세서 2. 카멜케이스 vs 케밥케이스 1. API 명세서 Member API OAuth2 는 파이어베이스로 구현할 예정이다. Place API 관광명소 상세정보 [ GET ] : place id 를 넣어 요청하면 place의 모든 정보들을 반환한다. 관광명소 리스트 호출 [ GET ] : region1에 큰 범주의 지역 region2에 작은 범주의 지역 category에 검색하고 싶은 장소 카테고리를 넣어서 place 리스트를 반환한다. 이때 place의 간략한 정보들만 반환한다. Love API placeId 에 해당하는 place 의 좋아요가 1 증가한다. love table에 유저와 장소 FK 값을 저장한다. REVIEW API 2. 카멜케이스 vs 케밥케이스 카우치 수업을 들으..
-
ERD 설계Spring 2022. 4. 19. 14:19
목차 1. DB 테이블 정의 2. ERD 3. 식별 vs 비식별 4. 언더바케이스 vs 카멜케이스 1. DB 테이블 정의 Place : id name average rate latitude 나중에 쓸지는 모르겠지만.. longtitude 나중에 쓸지는 모르겠지만2.. like count info image phone operating hours 운영시간 엔티티의 생성시간 엔티티의 수정시간 region1 : 큰 범주 지역 (서울,부산,충남..) region2 : 작은 범주 지역 (송파구,강북구..) category : 테마 (만화방,전망대..) address : 장소의 주소 view count Review id image : 이미지를 첨부할지는 논의중 content review rating member i..
-
협업 프로젝트 시작Spring 2022. 3. 22. 11:04
백엔드 2명, 프론트엔드 1명 총 3명이서 웹 프로젝트를 시작했습니다. 백엔드로 협업은 처음이라 많이 기대가 됩니다. 카우치코딩이란 프로그램에 참가하여 기획,프론트,백,디자인 총 4분의 멘토님들께 조언을 구하며 프로젝트를 진행하는 좋은 경험을 할 것 같습니다! 기술 스택 백엔드 : Spring, Java, Spring Data JPA 프론트엔드 : react 협업 툴 : Slack, Notion 디자인 툴 : Whimsical 칸반 보드 : Github Projects CI/CD : Github action 배포 : heroku 주제 : 휴식의 시간, 갈수있는곳 또는 가고 싶은 장소를 추천해주는 휴식공간 추천 사이트를 만들기로 했습니다. FOR REST 라고 이름지었고 '휴식을 위해'라는 의미와 'for..