>source

현재 로그인 페이지에 대한 nodejs의 백엔드에서 작업 중입니다. 이 튜토리얼을 따르고 있습니다 https://bezkoder.com/node-js-jwt-authentication-mysql/

우체부에서 http://localhost:8080/api/auth/signup으로 이동하려고 하면 내 서버에서 다음 오류가 발생합니다.

적절한 헤더: 콘텐츠 유형: 애플리케이션/json을 설정하고 우편 배달부의 테스트에서 json으로 본문도 설정합니다.

이 code 스니펫에서 가져온 것이라고 생각하지만 더 많은 code가 필요한 경우 나머지 code는 github 링크에 있습니다.

Github 링크: https://github.com/bezkoder/node-js-jwt-auth

verifySignup.js에서:

const db= require("../models");
 const ROLES= db.ROLES;
 const User= db.user;
 checkDuplicateUsernameOrEmail= (req, res, next)=> {
 //Username
User.findOne({
 where: {
   username: req.body.username
  }
  }).then(user=> {
  if (user) {
   res.status(400).send({
    message: "Failed! Username is already in use!"
   });
   return;
  }
 //Email
 User.findOne({
   where: {
    email: req.body.email
   }
  }).then(user=> {
   if (user) {
    res.status(400).send({
       message: "Failed! Email is already in use!"
     });
    return;
   }
   next();
 });
});
};

auth-routes.js에서 등록 요청:

app.post(
 '/api/auth/signup',
 [
   verifySignUp.checkDuplicateUsernameOrEmail,
    verifySignUp.checkRolesExisted
  ],
 controller.signup
);

Server.js(모든 code):

const express= require("express");
const bodyParser= require("body-parser");
const cors= require("cors");
const app= express();
 var corsOptions= {
 origin: "http://localhost:8081"
};
app.use(cors(corsOptions));
//parse requests of content-type -application/json
app.use(bodyParser.json());
//parse requests of content-type -application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: true }));
//routes
require('./app/routes/auth.routes')(app);
require('./app/routes/user.routes')(app);
//database
const db= require("./app/models");
const Role= db.role;
//db.sequelize.sync();
//force: true will drop the table if it already exists
db.sequelize.sync({force: true}).then(()=> {
console.log('Drop and Resync Database with { force: true }');
initial();
 });
//simple route
app.get("/", (req, res)=> {
res.json({ message: "Welcome to bezkoder application." });
});
//set port, listen for requests
const PORT= process.env.PORT || 8080;
app.listen(PORT, ()=> {
 console.log(`Server is running on port ${PORT}.`);
});
 function initial() {
 Role.create({
  id: 1,
  name: "user"
 });
 Role.create({
  id: 2,
  name: "moderator"
 });
 Role.create({
  id: 3,
  name: "admin"
 });
 }

질문에 요청 본문을 추가할 수 있습니까? 또한 익스프레스 앱에서 바디 파서를 설정했습니까?

eol2021-10-13 21:31:29

내 server.js를 추가하고 사용자 등록을 위한 경로 API를 만드는 위치를 추가했습니다. 더 많은 code가 필요한 경우 Github 링크가 여기에 있습니다: github.com/bezkoder/node-js-jwt-auth

Brogrammer2021-10-13 21:31:29

내가 말할 수있는 한 괜찮아 보입니다. 우편 배달부 요청의 스크린샷을 추가하거나 컬만 추가할 수 있습니까?

eol2021-10-13 21:31:29

게시물에 스크린샷을 추가했습니다

Brogrammer2021-10-13 21:31:29
  • 이전 ngclass 속성 Angular에서 기본 클래스 사용
  • 다음 java : 프로그래밍 방식으로 흔들리거나 초점이 맞지 않는 이미지 찾기