Альтернативный способ получения данных в пн go вместо URI - PullRequest
0 голосов
/ 28 января 2020

Используя Express & Node в качестве своего Middleware, я использую app.get('/:email/:password'), и он находит пользователей примерно так: users.find({email. req.params.email, password: req.params.password}).toArray());

На фронте у меня просто есть fetch('http://localhost:3000/api/user' + '/' + email + '/' + password)

Хотя это работает. Есть ли лучший способ сделать это? Я не уверен, что передача электронной почты и пароля в URI - это лучшее, что нужно сделать.

1 Ответ

1 голос
/ 28 января 2020

?‍? Вы можете сделать это, используя метод Post. Например, вы можете посмотреть на этот код ниже ?:

Внешний интерфейс:


async handlePost() {
  try {
    // change the endpoint with yours
    const userobject = { email, password };
    // you can change wit your endpoint
    const endpoint =  'http://localhost:3000/api/v1/users';
    const result = await fetch( endpoint, { method: 'POST',data: JSON.stringfy(userobject)  })
    const json = await result.json();
    console.log(json);
    // do some stuff here: set state or some stuff you want
  } catch(ex) {
    console.log(ex);
  }
}

? Код выше ? только пример. Ваш userobject может из вашего штата или вы передаете его в свою функцию handlePost.

Backend:


const express = require('express');

const app = express();

// enable req.body
app.use(express.json());
app.use(express.urlencoded({ extended: true }));

app.post('/api/v1/users', async (req, res) => {
    const { email, password } = req.body;
    try {
        const result = await users.find({email, password}).toArray();
        res.status(200).send(result);
    } catch(ex) {
        res.status(500).send(ex.message);
    }
});

app.listen(3000, () => {
    console.log('Server is up');
})

only Код выше только ? пример бэкэнд, который вы можете использовать для обработки вашего почтового запроса.

Надеюсь, он вам поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...