Java 如何使用POST方法API将数据推入数据库并获得唯一ID作为响应
我的DeviceController类为:Java 如何使用POST方法API将数据推入数据库并获得唯一ID作为响应,java,mysql,rest,spring-boot,Java,Mysql,Rest,Spring Boot,我的DeviceController类为: @RequestMapping(value = "/device", method = RequestMethod.POST,produces = "application/json") public ResponseEntity<Device> createDevice(@RequestBody Device device) { HttpHeaders headers = new HttpHeaders(); if (d
@RequestMapping(value = "/device", method = RequestMethod.POST,produces = "application/json")
public ResponseEntity<Device> createDevice(@RequestBody Device device) {
HttpHeaders headers = new HttpHeaders();
if (device == null) {
return new ResponseEntity<Device>(HttpStatus.BAD_REQUEST);
}
deviceRegisterService.createDevice(device)
headers.add("Device Created - ", String.valueOf(device.getDeviceId()));
return new ResponseEntity<Device>(device,headers,HttpStatus.CREATED);
}
点击服务器后,我可以推送数据,但我得到的唯一ID响应与数据库中生成的唯一ID完全不同
我有一个Device.java类,它包含所有getter/setter方法和生成唯一id的方法。
我正在使用UUID.randomUUID().toString()生成唯一ID
例如:
Request
{
device_name="asd"
device_type="xyz"
}
Response
{
device_name="asd"
device_type="xyz"
device_id="1223444455"
}
Database:
device_name : asd
device_type : xyz
device_id : "00999123"
我认为我的代码执行了两次
getDeviceID()
方法。有人能帮我纠正一下吗。这是一个重复的问题。请参阅此链接[可能重复@webmite我认为我在SQL查询中没有问题。我认为我在控制器类中遇到了问题。@KarthikeyanVaithilingam我得到了唯一的ID作为响应(使用Postman),但该唯一ID与在DB中生成的唯一ID不同。生成的DB ID不会传播回设备对象。我猜响应中的ID源自设备发送到控制器时的POST参数。
Request
{
device_name="asd"
device_type="xyz"
}
Response
{
device_name="asd"
device_type="xyz"
device_id="1223444455"
}
Database:
device_name : asd
device_type : xyz
device_id : "00999123"