개발 기록
211101 TIL (서버리스 백엔드-3) 본문
** 게시판 글쓰기 api
post 방식으로 요청보낼때 먼저 option 메소드로 보낸다. 그래서 if문으로 처리해줌.
if event['httpMethod'] == 'OPTIONS':
body = json.dumps({
"message": "success",
})
else:
** 삭제 기능
글로벌 변수 g_idx 선언을 해주고 getContent에서 idx 받아온 걸 deleteContent 에서도 사용 !
데이터 보내줄때 확인..! 요거를 놓쳤다
body = json.dumps({
"result": "success",
"data": {
"contents": result,
"pageOptions": { "perPage": paramPerPage, "totalPage":totalPage, "currPage":paramCurrPage, "totalCount":totalCount }
}
})
**************************
자바-스프링
*JPA : 자바로 코드를 작성하면 SQL로 번역시켜준다.
*레파지토리는 JPA를 작동시키는 매개체. (JPA는 레포지토리를 통해서만 사용 가능)
*DTO(date transfer object)
: 데이터베이스에서 data를 얻어 service나 controller 등으로 보낼 때 사용하는 객체
*entity : db 테이블에 존재하는 컬럼들을 필드로 가지는 객체. db의 테이블과 1:1로 대응.
Entity를 Controller 같은 클라이언트단과 직접 마주하는 계층에 직접 전달하는 대신 DTO를 사용해 데이터를 교환한다.
**entity 와 DTO 분리 이유
: entity의 값이 변하면 다른 로직에 영향을 미친다. 때문에 데이터의 변경이 많이 DTO 클래스 분리가 필요
*****
강의 들으면서 적은 내용
-domain 패키지에 entity 클래스와 레포지토리 DTO 생성
-Timestamped 클래스는 상속만 할 수 있는 추상 클래스
public abstract class Timestamped {}
-DTO는 필요한 정보를 가지고 다니는 클래스
setter 설정 x getter만 설정하면 됨
-services는 패키지를 분리해줘서 만듦
업데이트 메소드 만들기 : public 반환타입 update(Long id, MemoRequstDto requestDto)
-entity 클래스에 메소드 코드 추가
-서비스에 레포지토리 넣어줄 때 final로 꼭 필요하다고 해야함!
+@RequirdArgstructor : final로 선언된 게 있으면 생성할때 무조건 넣어줄게 !
-@Transactional : 이거 DB에 반영돼야해
-controller도 패키지를 따로 만들어줘서 구분
-업데이트를 위해서는 서비스 필요, 나머지 메소드는 레포지토리필요(jpa사용 위해서)
-바디에 있는 값을 requestDto에 넣어줘
'TIL' 카테고리의 다른 글
1103 TIL (스프링 ) (0) | 2021.11.04 |
---|---|
211102 TIL (0) | 2021.11.02 |
211029 TIL (서버리스 백엔드-2) (0) | 2021.10.30 |
211028 TIL (서버리스 백엔드-1) (0) | 2021.10.28 |
211027 TIL (서버리스 배포-프론트엔드 1) (0) | 2021.10.27 |