Экспресс-запрос POST с двумя параметрами строки запроса - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь закодировать мой POST-запрос (используя node-fetch) с помощью express и node.js, но я не уверен, как маршрутизировать две переменные строки запроса.Я уже построил строку запроса, но не могу понять, как с ней справиться.

Что должно произойти: я создаю приложение To-Do List.У меня есть форма для создания нового списка.Он имеет вход для нового имени списка и цвет для списка.Я просто хочу иметь возможность размещать эти данные и помещать их в мою базу данных Oracle.

Вот мой маршрут:

app.post('/api/add-list/:name&:color', api.addList);

Вот мой файл add-list.js:

// Use to simplify require statements
global.__root = __dirname; 
console.log(__dirname);

// DB Setup
var config = require('../config.js');
var db = require('../lib/db-lib.js');



exports.post = function(req, res) {

     console.log("adding list");

     db.auth(config.DB);

     // This is not right, I know
     var args = getQueryVariable();

     let name = req.body.name;
     let color = req.body.color;

     var args = {name:name, color:color};

     db.proc('hu_mgr.zrptodo.p_add_lists', args, function(err, rows) { return 
          res.json(rows); });
}

Это ошибка, которую я получаю после попытки отправить мой новый список.

POST http://192.168.56.101:5000/api/add-list/name=Andrew&color=purple 500 (Внутренняя ошибка сервера)

1 Ответ

0 голосов
/ 03 июня 2019

Привет, Эндрю ? Хотя ты не сказал этого, я предполагаю, что ты хочешь создать REST API для своего приложения. В API REST URL-адреса обычно основаны на существительных, а не на глаголах, потому что метод HTTP определяет действие / глагол. Таким образом, вместо POST к /api/add-list, вы должны POST к /api/lists.

Кроме того, при выполнении POST чаще отправлять данные как часть тела запроса, а не как URL.

Что касается ошибки, которую вы получаете, вы не показываете фактическую ошибку, а только то, что отображается клиенту. Попробуйте заглянуть в консоль для более подробной информации о том, что происходит не так.

Также вам может пригодиться эта серия статей по созданию REST API на базе данных Oracle: https://jsao.io/2018/03/creating-a-rest-api-with-node-js-and-oracle-database/

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