코딩일기) 02-15 ~ ING

HoJJANG94·2023년 2월 15일
0

02-15 코딩일기
server 폴더에 server.js 를 만들어 mongoDB 를 커넥트 하려 연결 도중
Mongoose: the "strictQuery" option will be switched back to "false" by default in Mongoose 7. Use "mongoose.set('strictQuery', false);" if you want to prepare for this change. Or use "mongoose.set('strictQuery', true);" to suppress this warning.

이러한 에러에 마주했다.. 개인적으로 server 프로그램을 많이 다루어 보지 않아서 mern 스택 자체를 오랜만에 하는데 mongoDB에 익숙하지 않아 그런지 해매었다..
그렇게 구글링하여 찾던 중,, 이게 먼가 ?

mongoose.set("strictQuery", true) 를 설정했더니.. 뚜왁하고 에러가 사라졌다..


<막간을 이용해 data통신에 관련된 HTTP 에러종류>

1) 400 (Bad Request) : 잘못된 문법으로 인하여 서버가 요청하여 이해할 수 없음
2) 401 (Unauthorized) : '비인증(unauthenticated)' , 인가되지 않았다는 에러
3) 404 (Not Found) : URL에러 , 리소스 자체가 존재하지 않음을 의미
4) 500 (Internal Server Error) : 웹 사이트 서버에 문제가 있음을 의미
5) 502 (Bad Gateway) : 서버가 게이트웨이로부터 잘못된 응답을 수신했음을 의미


server 폴더 package.json에 설치되어 있는 라이브러리
bcrypt 같은 경우엔 처음 써보는 라이브러리인데 비크립트는 Hash함수를 이용해 암호화 하는 방식이다.


Mongodb 와 API 테스트를 위해 POSTMAN 이용함.

  • < Router path >
    app.use("/auth", authRoute);
    app.use('/users', authUsers);
    app.use('/posts', authPost);
    app.use('/category', authCat)

미들웨어를 express 환경으로 설정 했기에 const app = express() 이다. app.use => express에 내장된 모듈을 이용하겠다!

  • get/post/put/delete 전부 ('/:id') :id를 붙이면 Database에 저장된 ID값을 통해 수정 삭제를 할 수 있다.

posts 경로
CREATE(생성) : http://localhost:5000/posts -> model/post 스키마생성시 require 되어 있는 username / title / desc 를 json 형식으로 보내면 생성 완료
UPDATE(수정) : Put 으로 수정 / req.params.id 를 요청하여 내가 수정하고자 하는 글에 ID값이 같으면 Put 으로 수정
DELETE(삭제) : 수정과 마찬가지로 req.params.id 값이 삭제하고자 하는 게시글 ID값과 같으면 삭제 / 다를 시 status(401)으로 같은 아이디만 삭제 가능하다는 경고 알림
GET(조회) : 수정 / 삭제와 마찬가지로 req.params.id 값을 통해 조회 모든 user를 GET할 시 router/get('/')로 ID값이 아닌 req.query.user로 user 전체 가져오기

이미지 업로드 부분

const storage = multer.diskStorage({
  destination: (req, file, callback ) => {
    callback(null, "images")
  },
  filename: (req, file, callback ) => {
    callback(null, "file.png")
  },
})

const upload = multer({storage: storage});

app.post("/upload", upload.single("file"), (req, res) => {
  res.status(200).json("파일 업로드 완료!")
})

02-16 경 server 설정 완료!

Front 시작
[리셋CSS](https://cssdeck.com/blog/scripts/eric-meyer-reset-css/)
profile
안녕하세요 신입 프론트엔드 개발자 입니다.

0개의 댓글