Express, typeORM 및 Postgres를 사용한 예약 Typescript API
5916 단어 ormtypescriptexpressnode
Jest 및 Supertest으로 테스트.
코드
Project repo
클론 프로젝트
git clone [email protected]:ihaback/booking-api.git
프로젝트 설정
npm install
전제 조건
프로젝트 설정
npm install
.env.example을 env로 이름 바꾸기
빌드 버전을 로컬에서 테스트하려면
NODE_ENV
를 prod
로 변경하십시오.NODE_ENV=dev
DB_TYPE=postgres
DB_HOST=localhost
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_INSTANCE=postgres
DB_SYNCHRONIZE=true
JWT_SECRET=secret
Postgres DB용 docker compose 실행
docker-compose up
초기 데이터로 개발 서버 및 시드 데이터베이스 시작
npm run dev
jest 및 supertest를 사용하여 Postgres DB에 대한 테스트 실행
npm run test
문제 감지를 위한 Lint 코드
npm run lint
생산을 위한 빌드 코드
NODE_ENV
가 prod
로 설정되어 있는지 확인하십시오.npm run build
후속 요청을 위해 jwt 토큰을 받으려면 로그인하십시오.
POST http://localhost:3000/api/auth/login
{
"username": "admin",
"password": "admin"
}
후속 요청에 대해 인증 헤더의 로그인 응답에서 토큰 사용
generated-token
예약 생성
POST http://localhost:3000/api/bookings
{
"startDate": "2022-03-24 18:46:55.223294",
"endDate": "2022-03-24 18:46:55.223294",
"totalCostInCents": 100,
"userId": 1, // id for user
"destinationId": 1 // id for destination
}
모든 예약 받기
GET http://localhost:3000/api/bookings
단일 예약 받기
GET http://localhost:3000/api/bookings/:id
예약 업데이트
PUT http://localhost:3000/api/bookings/:id
{
"startDate": "2022-03-24 18:46:55.223294",
"endDate": "2022-03-24 18:46:55.223294",
"totalCostInCents": 10000
}
예약 삭제
DELETE http://localhost:3000/api/bookings/:id
Reference
이 문제에 관하여(Express, typeORM 및 Postgres를 사용한 예약 Typescript API), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ihaback/booking-typescript-api-with-express-typeorm-and-postgres-398i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)