ingredient의 retrieving
말고 Creating
을 해보도록 할게요.
recipe/tests/test_ingredients_api.py
아래 첫번째 메서드는 key-value가 온전히 입력 되었을 경우 200을 띄우고 아래 테스트 메서드는 key값인 name만 있고 value가 없을경우 서버에서 400을 띄우게 하는 테스트를 짠거에요.(둘다 POST 요청이쥬?!)
IngredientViewSet클래스의 내부 상속을 받는 녀석을 하나 더 늘릴게요. 30번째 줄에 mixins.CreateModelMixin
을 추가하는 거에요.
또한 41번째 줄에는 perform_create
메서드를 넣어서 추가적인 데이터까지 넣기 위해서 메서드를 정의했는데요. 포인트는 save()메서드 안에 키워드 인자로 지정해주는 거에요.
아래 명령어를 실행해서 서버를 실행시킬게요.
docker-compose up
일단 유저 생성을 할게요.
email : test@testtest.com
password : testpass
name : testname
로그인 한 이후 토큰 발급을 받을게요.(먼저 URL 주소창 확인하고 가주세요.)
modheaders 크롬 extension을 실행 시켜주세요.
발행 된 토큰을 박아 넣을게요.
그리고 이번에는 ~/api/recipe/ 엔드포인트로 이동할게요.
그리고 ingredients의 키의 value값 링크를 클릭해서 페이지를 넘어 가도록 할게요.
그럼 Ingredient List 페이지로 바뀌는데요.
Cabbage라고 Name입력란에 입력하고 POST버튼을 누를게요.
그럼 등록된 걸 볼 수 있어요. RESPONSE로 화면에 반환 됬네요.
다시 URL 주소창에 ~/api/recipe/ingredients/로 가게되면
리스트로 딕셔너리 하나가 들어 있는 모습이 확인되요.
두개를 등록하면 아래와 같겠조?