req.body
используется для доступа к фактическим данным формы, которые вы «разместили».
req.params
используется для параметров маршрута, в вашем случае userId
, который передается в параметрах:
router.post("/user/:userId", function(req, res) {
let thisUserId = req.params.userId;
}
Официальные документы:
req.body
Содержит пары ключ-значение данных, представленных в теле запроса.По умолчанию он не определен и заполняется при использовании промежуточного программного обеспечения для анализа тела, такого как body-parser и multer.
Ссылка на req.body docs
req.params
Это свойство представляет собой объект, содержащий свойства, сопоставленные с именованным маршрутом «параметры».Например, если у вас есть имя маршрута / пользователя /:, тогда свойство «имя» доступно как req.params.name.Этот объект по умолчанию равен {}.
Ссылка на req.params docs
Если вы хотите реализовать в вашем маршруте охрану или любую другую логику, которая опирается на этот идентификатор (существующего пользователя)), вы передаете userID в параметрах.
Допустим, вы отправляете форму, где регистрируется новый пользователь .. Вы не хотите отправлять учетные данные в параметрах, так как это конфиденциальные данные и легко доступны для этогопуть.Здесь имеет смысл поместить эти значения в тело запроса и использовать поэтому req.body
..
Как уже упоминал в своем ответе Харис Баучлис, это зависит от ваших CRUD-операций, которые вы хотели бы выполнить.