작성자 | 성창민 |
일 시 | 2024. 5. 16 (목) 18:00 ~ 21:00 |
장 소 | 복지관 b128-1호 |
참가자 명단 | 임혜진, 이재영, 성창민, 김명원, 장원준 |
사 진 | ![]() |
저번까지 간단하게 get 기능을 만들어 보았습니다.
Post
이제 post를 만들어 보겠습니다.
요청이 들어오면 시리얼라이저에서 직렬화하고, 그걸 받아옵니다
그 후 저장된 값이 존재한다면 넘어온 데이터를 save합니다.
그리고 뭐가 save 되었는지 응답을 주고, 상태도 줍니다. - 201
만약 값이 없다면 응답 대신 error를 주고, 상태를 줍니다. - 400
이제 그리고 다시 서버에서 api로 가보면 post 를 할 수 있는 칸이 생깁니다.
위와 같이 값을 입력하고 POST를 해보겠습니다.
성공적으로 Created 되었으므로 201 상태가 표시됩니다.
StudentDetail
학생 정보 하나씩 볼 수 있는 기능도 있어야겠죠.
StudentDetail이라는 api를 만들어봅시다.
detail-Get
List와 달리, 모든 오브젝트를 가져오지 않고, student_id에 따라 그 오브젝트만 가져옵니다.
시리얼라이저 역시 many = True를 지워줍니다.
그리고 역시 url을 추가해줍니다.
이제 id에 따라 각 오브젝트를 확인 가능합니다.
해당 id의 오브젝트를 수정하는 put을 만들어 봅시다.
put
model 변수에 해당 id에 기존에 들어있던 오브젝트를 넣어두고,
시리얼라이저에서 모델변수에 들어있는 오브젝트를 요청한 데이터로 바꿉니다.
그리고 post와 같은 과정으로 응답해주면 됩니다.
해당 id에서 바꿀 값을 정하면 우측과 같이 바뀌게 됩니다.
마지막으로 Delete를 만들어 보겠습니다.
Delete
매우 간단합니다.
id에 해당하는 오브젝트를 불러와서,
delete 해주면 됩니다.
그리고, 상태를 응답합니다. - 204
우측에 delete버튼으로 삭제가 가능합니다.
누르면 이런 창이 뜨고,
실행하면 위와 같이 값을 반환하지 않습니다.
그리고 다시 해당 id에 들어가면 접근조차도 되지 않습니다.
이번 스터디를 진행하면서 api의 기본 기능들을 완성해보니, 좀 더 자신있게 api를 구성할 수 있게 되었습니다. 앞으로는 더 많은 기능들을 구현하는 방식을 배우고 싶다는 생각도 들었습니다.