정리노트/팀프로젝트 33

[팀 프로젝트] 24.02.22. 노트

오늘 할일 1. API에서 정보 추출해서 데이터베이스에 저장, CRUD 및 뷰 연결하기 - 체험 끝내기 2. 체험/식음료 수동 작성 폼 만들기 3. API 출력 페이지 뷰 수정하기 1. API 연결 중 에러 코드 발생 상세정보가 담긴 JSONObject 배열을 모두 담고 마지막에 확인차 배열의 0번을 출력하는데, 거기서 다음과 같은 오류가 발생했다. java.lang.NullPointerException: Cannot invoke "org.json.JSONObject.toString()" because "expDetailArray[0]" is null 어디서 오류가 발생해서 배열의 값이 null이 되었는지 확인하기 위해 응답코드와 JSON에서 배열과 객체를 꺼내는 과정을 모두 출력했다. 확인 결과 응답코..

[팀 프로젝트] 24.02.21 노트

오늘 할일 API에서 정보 추출해서 데이터베이스에 저장, CRUD 및 뷰 연결하기 1. API 활용 - 모듈 나누기 버스에서 클린 코드를 읽으면서 배운 내용을 실천해보기로 했다. ①함수는 하나의 기능만 수행해야 한다. ②이름은 직관적이어야 하고, 함수 이름은 동사형이어야 한다. 이상의 원칙에 따른 모듈 분리 및 작명 1)간략한 API에서 contentSeq를 가져오는 함수→getContentSeq()→getSpotContentSeq() 2)가져온 contentSeq로 상세정보를 가져오는 함수(JSONObject[] 리턴)→getSpotAPIByContentSeq(int[] contentSeqArray) 객체를 담은 배열[{"contetSeq": ...}, {"contentSeq": ...}, ...] 2..

[스프링] 강원 반려동물 동반관광 API 활용 코드

강원 반려동물 동반관광 API 시스템에 공개되어있는 정보를 데이터베이스에 입력하는 코드를 작성했다. 강원 반려동물 동반관광 Open API 링크 Open API 목록 | 강원특별자치도 반려동물 동반관광 API 시스템 > OpenAPI > Open API 목록 (pettravel.kr) Open API 목록 | 강원특별자치도 반려동물 동반관광 API 시스템 > OpenAPI > Open API 목록 www.pettravel.kr 사용 설명 PDF에 사용방법이 적혀있다. 여기서는 분야 코드 PC03으로 접근할 수 있는 관광지 정보를 다룬다. API에는 4가지 종류가 있다. 1)분야코드별 리스트 http://pettravel.kr/api/listPart.do?page=[현재 페이지 값]&pageBlock=[페..

[스프링]관리자 입장에서의 회원 관리(RUD)

회원이 자신의 정보를 관리하는 코드는 로그인한 상태를 가정하고 sessionId를 사용해 처리했다. 하지만 관리자는 sessionId를 사용할 수 없기 때문에 @RequestParam을 사용해 id를 주고받아 sql문으로 전달했다. 1. 회원 목록 출력: List 사용 [스프링] 회원 목록 불러오기 (tistory.com) [스프링] 회원 목록 불러오기 DTO를 여러 개 불러올 때는 List에 DTO를 담아서 출력한다. 1. 뷰 페이지 작성 회원관리 아이디 이름 닉네임 이메일 상세정보 ${member.mem_id} ${member.mem_name} ${member.mem_nickname} ${member.mem_email} 상세정보 c:f mangowhale.tistory.com 2. 회원 개별 정보 출..

[스프링] 회원 목록 불러오기

DTO를 여러 개 불러올 때는 List에 DTO를 담아서 출력한다. 1. 뷰 페이지 작성 회원관리 아이디 이름 닉네임 이메일 상세정보 ${member.mem_id} ${member.mem_name} ${member.mem_nickname} ${member.mem_email} 상세정보 c:forEach 안의 items에는 컨트롤러에서 addAttribute로 넣을 key 값을 넣는다. 상세정보를 클릭하면 회원 개별 정보가 나오는 페이지로 이동하도록 연결했다. 2. RowMapper 작성 package com.springmvc.repository; import java.sql.ResultSet; import java.sql.SQLException; import org.springframework.jdbc.c..

[팀프로젝트] 24.02.16. 노트

오늘 할일 owner CRUD 완성 facility CRUD 시작/////관리자 시점의 member/owner CRUD가 있어야 해서 먼저 하다가 깃허브가 꼬였다. ???데이터베이스에 owner_number varchar(14)로 해놨는데 숫자 12자리까지만 들어간다 ??????테이블 삭제했다가 다시 만드니까 또 된다 ?????주소 나온다 1. UPDATE 메서드 개선 저번에 작성했던 코드는 다음과 같다. @GetMapping("/info") public String get_member_info(Model model) { System.out.println("sessionId 취득"); String sessionId = (String)session.getAttribute("sessionId"); Syste..

[스프링] 회원 탈퇴 구현

(초기 버전) 1. 폼에 회원 탈퇴 추가 취소 회원탈퇴 2. Repository 작성 @Override public int delete_member(String sessionId) { String sql = "DELETE FROM user_mem WHERE mem_id = ?"; int verify = template.update(sql, sessionId); return verify; } 3. Service 작성 @Override public int delete_member(String sessionId) { System.out.println("memberService.delete_member() 도착"); int verify = memberRepository.delete_member(sessionId..

[팀프로젝트] 24.02.15. 노트

오늘 할일 user_mem CRUD 완성 owner_mem CRUD 시작 1. 컨트롤러-서비스-리파지토리 작성 순서 리파지토리에서 메서드를 먼저 작성하고 서비스와 컨트롤러에서 호출하는 코드를 작성하는 게 나을 것 같다. 책에 있는 걸 그대로 따라서 작성할 때는 컨트롤러-서비스-리파지토리 순서로 작성했지만 직접 만들 때는 반대가 되어야겠다. 서비스에서 전처리를 한다면 (서비스)전처리→(리파지토리)메서드→(서비스)리파지토리 호출→(컨트롤러)호출 순서로 작성하면 되겠지만 지금은 별다른 전처리가 없어서 메서드만 작성하고 있다. 대략적인 흐름을 생각해놓고 리파지토리에서 상세한 메서드를 작성하는 순으로 가야겠다. 코딩 경험이 적기 때문에 메서드에서 어떤 매개변수가 필요할지 바로바로 알지 못한다. 코드를 작성하다가 ..