4.2.2 질문 추가하기
스레드에 안전한 방식으로 상태를 처리하는 문제를 해결했다. 이제 나머지 API 경로를 구현하여 HTTP 요청에서 내용을 파싱하고 URL에서 매개변수를 읽어 들일 수 있다. 첫 번째로는 /questions 경로에 대한 HTTP POST 요청을 만든다. 그림 4-4는 지금까지 진행한 내역과 구현할 POST 엔드포인트에서 필요로 하는 것을 보여 준다.
▲ 그림 4-4 /questions 경로의 HTTP POST 요청에는 새로운 질문이 포함될 것으로 기대한다
코드 4-31은 add_question 경로 핸들러이다. 저장소와 질문이 함수로 전달된다. 그런 다음 Store(저장소)에서 구현한 RwLock을 사용할 수 있고, write를 이용해 쓰기를 요청한다. 이전 read와 마찬가지로 write 함수를 대기(.await)시킨다. 해당 경로에 접근할 때마다 해시 맵에 새 질문을 삽입(insert)할 것이다.