spring boot住院部病人信息管理的设计与实现
由于提供的代码已经相对完整,我们可以直接给出核心函数和类的实现,省略非关键代码。
// 病患信息控制器
@RestController
@RequestMapping("/patients")
public class PatientController {
@Autowired
private PatientService patientService;
// 获取病患信息列表
@GetMapping
public ResponseEntity<List<Patient>> getPatients() {
List<Patient> patients = patientService.findAll();
if (patients.isEmpty()) {
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
return new ResponseEntity<>(patients, HttpStatus.OK);
}
// 根据ID查询病患信息
@GetMapping("/{id}")
public ResponseEntity<Patient> getPatientById(@PathVariable("id") Long id) {
Patient patient = patientService.findById(id);
if (patient == null) {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
return new ResponseEntity<>(patient, HttpStatus.OK);
}
// 添加病患信息
@PostMapping
public ResponseEntity<Patient> createPatient(@RequestBody Patient patient) {
Patient createdPatient = patientService.save(patient);
return new ResponseEntity<>(createdPatient, HttpStatus.CREATED);
}
// 更新病患信息
@PutMapping("/{id}")
public ResponseEntity<Patient> updatePatient(@PathVariable("id") Long id, @RequestBody Patient patient) {
Patient updatedPatient = patientService.update(id, patient);
if (updatedPatient == null) {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
return new ResponseEntity<>(updatedPatient, HttpStatus.OK);
}
// 删除病患信息
@DeleteMapping("/{id}")
public ResponseEntity<?> deletePatient(@PathVariable("id") Long id) {
patientService.deleteById(id);
return new ResponseEntity<>("Patient record has been deleted", HttpStatus.OK);
}
}
// 病患信息服务接口
public interface PatientService {
List<Patient> findAll();
Patient findById(Long id);
Patient save(Patient patient);
Patient update(Long id, Patient patient);
void deleteById(Long id);
}
// 病患信息服务实现类
@Service
public class PatientServiceImpl implements PatientService {
// 假设有相关的数据访问层代码,这里省略
// 实现接口的方法,包括数据库操作
}
在这个简化的代码实例中,我们展示了如何设计一个病患信息管理的后端接口。其中,PatientController
类定义了与病患信息相关的HTTP接口,并使用PatientService
进行业务操作。PatientService
是一个接口,而PatientServiceImpl
是其实现类,负责实际的数据库操作。这种模式有利于代码的解耦和可测试性。
评论已关闭