목록Spring/부트캠프 (5)
코드 그라데이션
일단, 복습하면서 연산자가 다른데 쓰일 수가 없는데, 대입연산자만 다른데 쓰일 수가 있다. 전부 메소드 내에 있어야 한다. 메소드 또는 함수가 왜 필요한가요? => 코드의 재사용성 때문에! 1.주고 받고 (리턴값 o, 매개변수 o) 2.주고 안받고(리턴값 o, 매개변수 x) 3.안주고 받고(리턴값 x, 매개변수 o) 4.안주고 안받고(리턴값 x, 매개변수 x) 형태 1. 주고 받고 Int abc(int a,…..){ return 자료형 int } 2. 주고 안받고 // Get Int abc(){ return 자료형 int } 3. 안주고 받고 // Set Void abc(int a,….){ } 4. 안주고 안받고 // 출력 Void abc(){ } 예시 1. 주고 받고 : 식당 => 돈 줬으니까 음식이 ..
일반적으로 컨트롤러에는 별도의 로직이 없다. 서비스를 부르는 게 그냥 단순함. 스프링은 컨테이너다. @Conponent 는 스프링 보고, "이 객체를 관리해줘" 라고 말하는 것이다. 객체는 일반적으로 new 붙이고 사용하는데, 여기서는 그냥 쓰고 있다. private final SetHttpHeaders httpHeaders; 이게 스프링의 역할. 스프링이 객체를 만들어서 넣어줬어. setHeaderTypeJson() 이걸 매번 쓰고 있으니까 아예 클래스로까지 빼서 이것만 사용하게 만들 수 있도록 해 둔 것 같다. 이걸 클래스에서 객체로 만들지 않고 그냥 static으로 만들면 어디서든 쓸 수 있으니까, static으로 리펙토링 하는 것을 고려해보도록. UserDetails는 사용자 정보 관련 시큐리티다..
회원가입 통과 로그인 통과 비밀번호 수정은 검증 로직이 이상하다. 검증 로직만 주석처리 하고 다시 해보니까 통과 되더라고. 지역 수정 통과 프로필 ID는 별도의 엔티티가 아닌 User 안에 임베더블이라서 따로 없다. 그래서 별도의 Ip로 봐주기는 무리, 테스트 불가 Product Api 명세와는 다르게 place는 따로 없어. 어쨌든 상품 등록 통과 단일 상품 조회도 통과 전체 상품 조회 - PagingProductResponseDto가 JSON으로 변환이 될 때, 값이 없다고 나온다. - 아마 페이징 관련해서 문제가 있는 듯(매핑) 상품 업데이트 - 상품 수정이나 삭제를 하려면 사용자 본인 인증을 해야 하는데, 사용자 본인 인증을 하려면 User 엔티티가 equals가 구현이 되어야 하고, 현재는 eq..
페이징 Repository JpaRepository 의존성 ListPagingAndSortingRepository PagingAndSortingRepository : 여기에서 페이징 & 소팅 기능을 제공합니다. 페이징 처리 프로세스 PageRequest 를 사용하여 Pageable에 페이징 정보를 담아 객체화 한다. Pageable을 JpaRepository가 상속된 인터페이스의 메서드에 T(Entity)와 함꼐 파라미터로 전달한다. 2번의 메서드의 return 으로 Page가 응답 된다. 응답된 Page에 담겨진 Page 정보를 바탕으로 로직을 처리하면 된다. 페이징 요청/응답 클래스 Pageable 요청 : org.springframework.data.domain.Pageable 페이징을 제공하는 중..
유의사항 Entity를 그대로 반환하지 말고, DTO에 담아서 반환해주세요! 프론트엔드와 백엔드가 느슨하게 결합하는 환경이 ”최근에는” 더 일반적이라고 말씀드렸죠? 앞으로 남은 강의 예제와 실습에서는 html/css/js 즉 뷰도 같이 반환 하겠지만, 과제에는 여러분들이 서버 로직에 더 집중하실 수 있도록 JSON을 반환하는 API형태로 진행하려고 합니다. 눈으로 직접 확인 할 수 있었던 view와는 다르게, 여러분들이 과제를 진행하시려면 서버가 반환하는 결과값을 더 쉽게 확인 하실 수 있는 도구가 필요합니다. 바로 PostMan 입니다. 사용법은 아래 페이지에서 꼭 확인해주세요! 수행해야 하는 내용 아래의 요구사항을 기반으로 Use Case 그려보기 손으로 그려도 됩니다. cf. https://naru..