강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

뉸뉴님의 프로필 이미지
뉸뉴

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

회원가입 오류 관련 질문

작성

·

374

0

안녕하세요 선생님. 백서버를 프론트와 연결하고 회원가입 테스트를 하고 있는데

네트워크 탭을 보니까 Method가 POST가 아닌 OPTIONS로 나오는 경우에는 어느 부분을 봐야 할까요?

signup요청이 보내져서 콘솔에

요청이 보내진 것을 확인했지만 그 다음으로

 

네트워크 탭에서 다음과 같이 나오고

 

콘솔 창에는 다음과 같이 나옵니다.

 

500번대 에러라 서버 오류라는것은 알겠는데, 라우터에서 post로 썼는데도 저런 에러가 떠서 어디를 확인해야 할지 모르겠습니다..ㅠㅠㅠ

back 폴더의 routes디렉토리의 user.js는 이렇고

 

saga폴더에서 user.js의 signup부분은

이렇습니다.

 

 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

서버 에러니까 서버 콘솔에서 에러메시지부터 보셔야 합니다.

뉸뉴님의 프로필 이미지
뉸뉴
질문자

선생님 말씀대로 서버 콘솔 오류메세지를 보니까 오류가 여러가지여서 한가지는 잡았는데 그 다음 에러는 잘 모르겠습니다.

콘솔에

code: 'ER_DATA_TOO_LONG',
    errno: 1406,
    sqlState: '22001',
    sqlMessage: "Data too long for column 'password' at row 1",
    sql: 'INSERT INTO `Users` (`id`,`email`,`nickname`,`password`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?,?,?,?);',
    parameters: [
      'one@gmail.com',
      'one',
      '$2b$10$wPuW93OxLTiKpRJHuBWeIuWtqjKvSnRcKgCYz6sGpvrH9kFX1NMfW',
      '2022-10-06 14:08:59',
      '2022-10-06 14:08:59'
    ]

 

라고 뜨는데 암호화된 password가 너무 길어서 데이터베이스에 저장할 수 없다는 의미일까요..?

 

오류 코드 전문은

 name: 'SequelizeDatabaseError',
  parent: Error: Data too long for column 'password' at row 1
      at Packet.asError (C:\Users\내컴\Desktop\project\myback\node_modules\mysql2\lib\packets\packet.js:728:17)
      at Execute.execute (C:\Users\내컴\Desktop\project\myback\node_modules\mysql2\lib\commands\command.js:29:26)
      at Connection.handlePacket (C:\Users\내컴\Desktop\project\myback\node_modules\mysql2\lib\connection.js:456:32)
      at PacketParser.onPacket (C:\Users\내컴\Desktop\project\myback\node_modules\mysql2\lib\connection.js:85:12)
      at PacketParser.executeStart (C:\Users\내컴\Desktop\project\myback\node_modules\mysql2\lib\packet_parser.js:75:16)
      at Socket.<anonymous> (C:\Users\내컴\Desktop\project\myback\node_modules\mysql2\lib\connection.js:92:25)
      at Socket.emit (node:events:390:28)
      at addChunk (node:internal/streams/readable:315:12)
      at readableAddChunk (node:internal/streams/readable:289:9)
      at Socket.Readable.push (node:internal/streams/readable:228:10) {
    code: 'ER_DATA_TOO_LONG',
    errno: 1406,
    sqlState: '22001',
    sqlMessage: "Data too long for column 'password' at row 1",
    sql: 'INSERT INTO `Users` (`id`,`email`,`nickname`,`password`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?,?,?,?);',
    parameters: [
      'one@gmail.com',
      'one',
      '$2b$10$wPuW93OxLTiKpRJHuBWeIuWtqjKvSnRcKgCYz6sGpvrH9kFX1NMfW',
      '2022-10-06 14:08:59',
      '2022-10-06 14:08:59'
    ]
  },
  original: Error: Data too long for column 'password' at row 1
      at Packet.asError (C:\Users\내컴\Desktop\project\myback\node_modules\mysql2\lib\packets\packet.js:728:17)
      at Execute.execute (C:\Users\내컴\Desktop\project\myback\node_modules\mysql2\lib\commands\command.js:29:26)
      at Connection.handlePacket (C:\Users\내컴\Desktop\project\myback\node_modules\mysql2\lib\connection.js:456:32)
      at PacketParser.onPacket (C:\Users\내컴\Desktop\project\myback\node_modules\mysql2\lib\connection.js:85:12)
      at PacketParser.executeStart (C:\Users\내컴\Desktop\project\myback\node_modules\mysql2\lib\packet_parser.js:75:16)
      at Socket.<anonymous> (C:\Users\내컴\Desktop\project\myback\node_modules\mysql2\lib\connection.js:92:25)
      at Socket.emit (node:events:390:28)
      at addChunk (node:internal/streams/readable:315:12)
      at readableAddChunk (node:internal/streams/readable:289:9)
      at Socket.Readable.push (node:internal/streams/readable:228:10) {
    code: 'ER_DATA_TOO_LONG',
    errno: 1406,
    sqlState: '22001',
    sqlMessage: "Data too long for column 'password' at row 1",
    sql: 'INSERT INTO `Users` (`id`,`email`,`nickname`,`password`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?,?,?,?);',
    parameters: [
      'one@gmail.com',
      'one',
      '$2b$10$wPuW93OxLTiKpRJHuBWeIuWtqjKvSnRcKgCYz6sGpvrH9kFX1NMfW',
      '2022-10-06 14:08:59',
      '2022-10-06 14:08:59'
    ]
  },
  sql: 'INSERT INTO `Users` (`id`,`email`,`nickname`,`password`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?,?,?,?);',
  parameters: [
    'one@gmail.com',
    'one',
    '$2b$10$wPuW93OxLTiKpRJHuBWeIuWtqjKvSnRcKgCYz6sGpvrH9kFX1NMfW',
    '2022-10-06 14:08:59',
    '2022-10-06 14:08:59'
  ]
}
Error
    at Query.run (C:\Users\내컴\Desktop\project\myback\node_modules\sequelize\lib\dialects\mysql\query.js:52:25)
    at C:\Users\내컴\Desktop\project\myback\node_modules\sequelize\lib\sequelize.js:314:28
    at async MySQLQueryInterface.insert (C:\Users\내컴\Desktop\project\myback\node_modules\sequelize\lib\dialects\abstract\query-interface.js:308:21)
    at async model.save (C:\Users\내컴\Desktop\project\myback\node_modules\sequelize\lib\model.js:2432:35)
    at async Function.create (C:\Users\내컴\Desktop\project\myback\node_modules\sequelize\lib\model.js:1344:12)
    at async C:\Users\내컴\Desktop\project\myback\routes\user.js:21:9

이렇습니다.

뉸뉴님의 프로필 이미지
뉸뉴
질문자

에러 해결했습니다. 역시 콘솔 에러 메시지 그대로 암호화된 패스워드가 너무 길어서 에러가 나는 거였습니다. mysql테이블을 보니까 password가 VARCHAR(30)으로 설정되어있어서 30을 100으로 수정했습니다

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

오 스스로 해결하시다니 멋집니다!

뉸뉴님의 프로필 이미지
뉸뉴

작성한 질문수

질문하기