분류 전체보기
-
에러핸들링 : 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..
-
[출시를 향한 여정] 타이머 어플 - 3. LED 플래시를 통해 알림받기iOS 2021. 10. 23. 10:34
목차 1. LED 플래시 알림 2. 구현한 이유 3. 애로사항 1) 백그라운드에서 사용 불가 2) 깜빡임 횟수 1. LED 플래시 알림 옵션 페이지로 스와이핑하면 Flash On 이라는 토글 스위치가 나옵니다. 이 스위치를 통해 Flash 알림을 키거나 끌 수 있습니다. Flash On 상태에서는 집중시간이 끝나거나 휴식시간이 끝날때마다 아이폰 뒷면 LED 플래시가 10번 깜빡입니다. 이 깜빡임을 통해 사용자는 시간이 끝났음을 인지하고 휴식하거나 다시 집중할 수 있게 됩니다. 2. 플래시 알림을 구현한 이유 제가 타이머 어플을 쓰는 곳은 주로 조용한 도서관이나 스터디 카페입니다. 포모도로 공부법에 기반하여 25분 공부, 5분 휴식을 위해서는 공부시간 혹은 휴식시간이 끝날때마다 알림을 받아야 합니다. 가장..
-
개인정보 처리 방침카테고리 없음 2021. 10. 11. 11:31
('https://paul-goden.tistory.com/'이하 'Mile')은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. ○ 이 개인정보처리방침은 2021년 10월 11부터 적용됩니다. 제1조(개인정보의 처리 목적) ('https://paul-goden.tistory.com/'이하 'Mile')은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의 동..