如何在spring应用程序中更好地设置对象字段?



我有实体在spring应用程序下面。


@Entity(name = "products")
public class ProductModel {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private  UUID id;
private  String name;
private  String code;
private boolean is_group;
@ManyToOne
private ProductModel group;

和json从前端应用

{   "id":"50bfddf4-d5f8-11ed-afa1-0242ac120002",  
"name":"Phone",   
"group_id":"7bd886d0-d5f8-11ed-afa1-0242ac120002"
}

这是我的控制器,我需要找到id productrepo

@CrossOrigin
@PostMapping(value = "/product/save",produces = "application/json", consumes="application/json")
void saveProduct(@RequestBody ProductModel productModel){
var group_id=productModel.getGroup_id();
if(group_id!=null && group_id.length()>0){
var group=productRepo.findById(UUID.fromString(group_id)).get();
if(group!=null){
productModel.setGroup(group);
}
}
productRepo.save(productModel);
}

如何通过任何注释或其他设置将group_id从json转换为ProductModel而不使用findById()方法?

我期望代码示例

在group_id的帮助下,您可以从数据库中获取它

示例代码:

@CrossOrigin
@PostMapping(value = "/product/save",produces = "application/json", consumes="application/json")
void saveProduct(@RequestBody ProductModel productModel){
var group_id = productModel.getGroup_id();
if(group_id != null && !group_id.isEmpty()){
UUID groupId = UUID.fromString(group_id);
Optional<ProductModel> optionalGroup = productRepo.findById(groupId);
if(optionalGroup.isPresent()){
ProductModel group = optionalGroup.get();
productModel.setGroup(group);
} else {
// handle error - group not found
}
}
productRepo.save(productModel);
}

最新更新