개발 기록

211101 TIL (서버리스 백엔드-3) 본문

TIL

211101 TIL (서버리스 백엔드-3)

수염차 2021. 11. 1. 16:34

** 게시판 글쓰기 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
Comments