在这种情况下,使用 MERN 堆栈并无法获取 PUT 请求以更新患者信息。
患者路线-patient.js
//@route POST api/patients
//@desc Create patient profile
//@access Private, patient information
router.post('/', [ auth,
check('firstName', 'First Name is required')
.not()
.isEmpty(),
check('lastName', 'Last name is required')
.not()
.isEmpty(),
check('medicalConditions', 'Medical Conditions are required')
.not()
.isEmpty()
],
async (req, res) => {
const errors = validationResult(req);
if(!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
const {
firstName,
lastName,
dateOfBirth,
phoneNumber,
email,
medicalConditions
} = req.body
//Build patient object
const patientFields = {}
if(firstName) patientFields.firstName = firstName;
if(lastName) patientFields.lastName = lastName;
if(dateOfBirth) patientFields.dateOfBirth = dateOfBirth;
if(phoneNumber) patientFields.phoneNumber = phoneNumber;
if(email) patientFields.email = email;
if(medicalConditions) {
patientFields.medicalConditions = medicalConditions.split(',').map(medicalCondition => medicalCondition.trim());
}
try {
patient = new Patient(patientFields);
await patient.save();
res.json(patient)
}
catch (err) {
console.error(err.message);
res.status(500).send('Server Error in Create/Update Patient');
}
}
);
我一直在参考这个项目的教程,但在教程中,创建配置文件路由也更新了配置文件,因为它引用了登录用户的 ID。
当我用 Postman 测试这个时,我在我想要更新的患者的 url 中发送 Patient_id,它正在发送回数据库中不同患者的信息。
如何修改 put 请求以更新患者信息?
慕标5832272
holdtom
相关分类