May 29, 2022
사내 서비스 중 하나로 챗봇이 있고, 사용자가 쿼리를 보내면 자연어 프레임워크를 거쳐 응답을 생성해서 사용자에게 보낸다.
이 과정에서 사내의 다른 서비스에서 사용하는 자연어 프레임워크의 결과값과 연관된 응답을 사용자에게 보내야할 일이 생겼고, 이 과정에서 서버 생성을 담당했다.
평소 우리 팀에서 하는 것보다 간단한 업무였고, 자유도도 높았다.
그래서 빠르게 개발을 위해 익숙한 Node. js & express 조합으로 서버를 구성했다.
처음에 설계를 잘하자.
외부 서버 접속
문제: 클라이언트에서 제공하는 내부 서버에 접속해서 정보를 얻어와야 했는데 접속을 시도하면 Unable to verify the first certificated 와 함께 400 bad request가 나왔다.
해결
httpsAgent: new https. Agent({ rejectUnauthorized: false }를 추가했다. swagger 설정
1.
2.
해결: openAPI 3. 0버전에서는 req. body를 보내는 방식이 변경되었다는 것을 stackoverflow에서 본 후, 양식에 맞게 수정했다.
//수정 전에 요청을 보내는 부분의 swagger docs
* parameters:
* - in: "body"
* name: "body"
* schema:
* $ref: '#/definitions/Request'
//수정 전의 curl 명령어
curl -X 'POST' \
url \
-H 'accept: application/json' \
-d '' //수정 후에 요청을 보내는 부분의 swagger docs
* requestBody:
* content:
* application/json:
* schema:
* $ref: '#/definitions/Request'
//수정 후의 curl 명령어
curl -X 'POST' \
url \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"query": "클라이언트의 쿼리"
}'github action
타 팀과의 협업
새로운 스택으로 도전해보자
책임감을 가지자