반응형
- vscode에서 전체적인 코드 프레임워크는, vscode좌측의 돋보기 모양을 눌러 키워드를 서칭하여, 가져오는 것이 편리하다. 그리고 내가 만드려는 API의 기능에 맞게 일부 코드만 수정하면 좋다.
- 그리고, query문은 vscode에서 타이핑 하지 말고, 우선적으로 mysql로 가서 테스트를 해본다.
mysql workbench쿼리문 예시:
더보기
update recipe
set is_publish = 2
where id = 0;
vscode에서의 응용:
더보기
class RecipePublishResource(Resource): # 레시피 공개, 임시저장 # 레시피를 공개한다. def put(self, recipe_id): # put이라는 메소드를 처리하는 함수 # 해당 레시피 아이디를 가지고, 데이터베이스에서 publish 컬럼을 1로 바꿔준다. # 데이터 업데이트 try : # 데이터 업데이트 # 1. DB에 연결 connection = get_connection() # 2. 쿼리문 만들기 query = ''' update recipe set is_publish = 1 where id = %s;''' record = (recipe_id, ) # 3. 커서를 가져온다. cursor = connection.cursor() # 4. 쿼리문을 커서를 이용해서 실행한다. cursor.execute(query, record) # 5. 커넥션을 커밋해줘야 한다 => 디비에 영구적으로 반영하라는 뜻 connection.commit() # 6. 자원 해제 cursor.close() connection.close() except mysql.connector.Error as e : print(e) cursor.close() connection.close() return {'error' : str(e)}, 503 return {'result': 'success'},200 # 클라에게 응답해주는 코드 |
- 해당 코드 잘 작동하는 지 확인하고, vscode로 돌아와서, 서버 실행 시킨다음에, postman에서 해당 코드가 잘 동작하는지 검증을 해야한다.
- PUT은 바디가 필요없다. 이미 URL에 정보가 포함되어있기 때문.
{“result”:”success”}로 응답을 잘 받았다면, mysql가서 확인해보자. ispublish가 바뀌었을 것이다.
=> unit test, 단위 테스트
단위 테스트를 많이 하면 에러/버그를 양산할 가능성이 줄어든다.
반응형
'BackEnd > 백엔드' 카테고리의 다른 글
[백엔드] Flask: JWT 인증이란/구성요소/인증절차 (0) | 2022.07.01 |
---|---|
[POSTMAN]지금까지 작성한 API 문서 = API 명세서로 확인 (0) | 2022.07.01 |
[백엔드] Postman 설치: API 테스트 프로그램/툴 (0) | 2022.06.21 |
요청(Request): Headers/ body, 응답(Respond): HTTP 상태코드 (0) | 2022.06.21 |
RestFul API 개념: 자원(Resource), 행위(Method), 표현(Message) (0) | 2022.06.21 |