如何在Get映射请求中使用RequestHeader值,而不是在Spring Boot中使用PathVariable来使用findById获取数据?

问题描述 投票:0回答:1

在我的Spring启动项目中,我创建了一个名为“ Doctor”的表。要按其ID读取Doctors数据,我创建了一个Repository接口和一个控制器类。

这是我的DoctorRepository的代码,它扩展了JpaRepository

@Repository
public interface DoctorRepository extends JpaRepository<Doctor, Long> {
}

这是我的[[DoctorController类-

的代码@RestController @RequestMapping("/api") public class DoctorController { @Autowired private DoctorRepository doctorRepository; @GetMapping("/doctors/{id}") public Doctor getDoctorById(@PathVariable(value = "id") Long doctorId) { return doctorRepository.findById(doctorId).orElseThrow(()-> new ResourceNotFoundException("","","doctor id "+doctorId+" not found")); } }

现在,这是---

对于实验,我想通过

RequestHeader

发送此doctorId,而不是使用pathVariables这是我尝试过的解决方案-

@GetMapping("/doctors") public Doctor getDoctorById(@RequestHeader("id") Long doctorId) { return doctorRepository.findById(doctorId).orElseThrow(()-> new ResourceNotFoundException("","","doctor id "+doctorId+" not found")); }

但是此解决方案对我不起作用。因此,我需要一个解决方案来解决此问题,只需在

RequestHeader

中发送doctorId在我的Spring启动项目中,我创建了一个名为“ Doctor”的表。为了按其ID读取Doctors数据,我创建了一个Repository接口和一个控制器类。这是我的代码...
java spring-boot
1个回答
0
投票
您提供的代码正在运行。
© www.soinside.com 2019 - 2024. All rights reserved.