회원가입
초반에 POST로 설정하고 url을 제대로 입력, form-data에 맞게 정보를 입력하여 send했음에도 오류가 발생했었는데, 알고보니 vscode에서 main.py파일을 수정해놓고 ctrl+s로 저장하지 않은 상태에서 postman으로 데이터 입력을 시도해서 오류가 발생했었다ㅎ_ㅎ 저장꼭확인할것..
로그인
주소 signin 으로 변경 후,
로그인에 필요한 정보를 입력한 뒤 send
오류가 발생했는데, return 값을 jsonify로 변환하는 과정에서 딕셔너리 형태로 입력해주지 않아서 발생한 문제였다.
JOSN 상태로 변환하기 위해 딕셔너리 형태로 코드를 변경
변경후 !저장!까지 한 뒤, 다시 postman 에서 send
정보가 잘 확인되었다!
필요한 모듈 import 및 초기 설정
회원가입
로그인
비밀번호 변경
탐색기 탭에서 main.db 오른쪽마우스 클릭 -> open database -> 하단의 SQLITE EXPLORER 의 user table -> show Table로 user 정보 확인
-> 하단의 SQLITE EXPLORER 의 user table -> show Table로 user 정보 확인
user Table
POSTMAN에서 PATCH로 설정후 주소/user/password 를 입력하고
Body → form-data에서 username과 password 를 입력한 뒤 new_password, 새로운 password를 지정해준다.
send 를 누른뒤 SUCCESS가 출력되면 비밀번호가 변경되었음을 확인할 수 있다.
또한 POSTMAN에서 POST방식으로 signin 페이지에서 비밀번호를 변경하기 전의 아이디와 비밀번호를 입력하면
No User로 나타나는 것을 확인할 수 있다.
회원정보 삭제
postman에서 DELETE로 설정, 주소를 /user로 입력, form data에서
삭제할 회원의 username과 password를 입력
send를 누르면 SUCCESS -> 삭제되었음을 확인
http 상태코드 기능 추가하기
Status 번호 변경하기
import에 Response추가
from flask import Flask, jsonify, request, Response
회원가입 부분에서 추가로 코드 수정
return Response("SUCCESS", status=201)
HTTP 표준에 따라 status code를 변경하였음
* 만약 사용자가 데이터를 잘못입력하였을 경우 내려줄 수 있는 상태코드
요청에 대해서 보내줄 수 있는 콘텐츠가 없지만, 헤더는 의미있을 수 있습니다. 사용자-에이전트는 리소스가 캐시된 헤더를 새로운 것으로 업데이트 할 수 있습니다.
서버는 통신되고 있지만 사용자의 입력이 잘못되었음을 알려줌
이 응답은 잘못된 문법으로 인하여 서버가 요청을 이해할 수 없음을 의미합니다.
서버는 요청받은 리소스를 찾을 수 없습니다. 브라우저에서는 알려지지 않은 URL을 의미합니다. 이것은 API에서 종점은 적절하지만 리소스 자체는 존재하지 않음을 의미할 수도 있습니다. 서버들은 인증받지 않은 클라이언트로부터 리소스를 숨기기 위하여 이 응답을 403 대신에 전송할 수도 있습니다. 이 응답 코드는 웹에서 반복적으로 발생하기 때문에 가장 유명할지도 모릅니다.
HTTP 상태코드 정보
https://developer.mozilla.org/ko/docs/Web/HTTP/Status
HTTP 상태 코드 - HTTP | MDN
HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 그리고
developer.mozilla.org
모든 API는 Request와 Response가 있으며 요청이 들어오고 응답을 할때 알맞은 상태코드를 내려주게 되면
클라이언트는 코드에 따라서 처리가 달라질 수 있다.
지정되지 않은 메소드나, URL로 접근하게 되면 자동으로 플라스크가 처리해서 404, 405 코드를 보여주게 된다
서버와 클라이언트 통신을 할때, html에서 바로 통신하기 보다는 js에 요청해서 통신하기 때문에 from data는 잘 사용하지 않는다.
json은 자바스크립트에서 정의된, 자바스크립트에서 주고받기위해 정의된 타입 , 사용방법은 파이썬 딕셔너리와 동일
json을 사용하는 이유 :
예전에는 html을 사용해서 서버요청을 많이 보냈었는데, (form data 사용) 요즘에는 html - js - sever 절차를 거쳐서 서버요청을 보내게 된다.
client : 우리의 서버와 postman(정보를 요청)
sever : flask
API : 서버와 클라이언트가 요청하고 응답하면서 통신하는 것
데이터를 주고받으면서 데이터를 담는 곳이 필요한데, 데이터 (url, method, user data)
postman과 같이 데이터를 body에 담았으며, 이 body data type을 json이라고 한다.
중복 회원이름 방지하기
비밀번호 변경시 동일한 비밀번호가 아닌지 확인하기
상태 코드를 추가함으로써 서버에서 좀 더 안전하게 오류를 처리할 수 있게됨
'Note > Record' 카테고리의 다른 글
원티드 하이파이브 2024 컨퍼런스 후기 | Wanted High Five Conference 2024 (0) | 2024.07.06 |
---|---|
Docker로 Flask App 띄우기 (0) | 2021.09.18 |
Docker 명령어 정리 (0) | 2021.09.18 |
POSTMAN 데이터 조회, 추가, 삭제 (0) | 2021.07.15 |
Javascript (0) | 2021.06.14 |