我有一张名为contacts
的表格。此表有5列:contact_id,localevent_id,name,email_adress,phone_number。
我有一个创建新记录的方法:
@PostMapping("/rest/contacts/new")
@ResponseBody
public ResponseEntity createContact(@RequestParam("contact") JSONObject contactString) {
LoggingService.log("Contact new: " + contactString.toString());
try {
ObjectMapper mapper = new ObjectMapper();
Contact contact = mapper.readValue(contactString.toString(), Contact.class);
contactRepository.save(contact);
return ResponseEntity.ok().header(HttpHeaders.CONTENT_TYPE, "application/json")
.body("\"Contactpersoon is succesvol toegevoegd of gewijzigd\"");
}
catch(IOException ioEx) {
throw new DatabaseException("Fout bij het wegschrijven van de gegevens, neem contact op met het EventPointteam");
}
catch(RuntimeException ex) {
throw new DatabaseException("Fout bij het wegschrijven van de gegevens, neem contact op met het EventPointteam");
}
}
但现在数据库受到记录的污染,因为前端功能会向后端发布新的联系人:
if(this.validatePhone(this.contact.phone) && this.validateEmail(this.contact.email)){
this.restCall.post("/contacts/new", formData, response => {
this.showResult(response);
});
}
一个简单但又脏的修复方法是首先删除具有某个localevent_id的所有记录,然后发布具有该localevent_id的新记录。但是我对弹簧框架的知识非常有限(这是由其他人建造的)。任何帮助,将不胜感激。