Java 如何使用POST方法API将数据推入数据库并获得唯一ID作为响应

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

我的DeviceController类为:

@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"