我看到这个问题有很多问题,但没有任何帮助。我找不到解决方案,所以我正在分享我自己的代码并寻求帮助
控制器
- 我用GetMapping(如图(来自Udemy的课程))和@DeleteMapping注释尝试了所有这些方法,但它们都没有工作......
- 我还尝试添加 @RequestBody 注释,因为有些人对此错误的另一个问题发表了评论
- 我在 application.properties 文件中添加了 spring.mvc.hiddenmethod.filter.enabled=true
- 我尝试使用 delete 而不是 deleteById
@RequestMapping(value="/deleteProperty/{idProperty}", method = {RequestMethod.DELETE, RequestMethod.GET)
public String deleteProperty1(@PathVariable int idProperty) {
propertyService.deleteById(idProperty);
return "redirect:/admin/properties/allProperties";
}
@RequestMapping(value="/deleteProperty/{idProperty}", method = RequestMethod.DELETE)
public String deleteProperty1(@PathVariable int idProperty) {
propertyService.deleteById(idProperty);
return "redirect:/admin/properties/allProperties";
}
@RequestMapping(value="/deleteProperty/{idProperty}", method = RequestMethod.DELETE)
public String deleteProperty1(@PathVariable("idProperty") int idProperty) {
propertyService.deleteById(idProperty);
return "redirect:/admin/properties/allProperties";
}
@RequestMapping(value="/deleteProperty/{idProperty}", method = RequestMethod.DELETE)
public void deleteProperty1(@PathVariable("idProperty") int idProperty) {
propertyService.deleteById(idProperty);
}
@RequestMapping(value="/deleteProperty/{idProperty}", method = RequestMethod.DELETE)
public String deleteProperty1(@RequesParam("idProperty") int idProperty) {
propertyService.deleteById(idProperty);
return "redirect:/admin/properties/allProperties";
}
@RequestMapping(value="/deleteProperty/", method = RequestMethod.DELETE)
public String deleteProperty1(@RequesParam("idProperty") int idProperty) {
propertyService.deleteById(idProperty);
return "redirect:/admin/properties/allProperties";
}
和更多...
我还是不明白怎么回事……
物业服务
@Service
public class PropertyServiceImpl implements IPropertyService {
private IPropertyRepository propertyRepository;
@Autowired
public PropertyServiceImpl(IPropertyRepository thePropertyRepository) {
propertyRepository = thePropertyRepository;
}
@Override
public List<Property> findAll() {
return propertyRepository.findAll();
}
@Override
public Property findById(int idProperty) {
Optional<Property> result = propertyRepository.findById(idProperty);
Property theProperty = null;
if (result.isPresent()) {
theProperty = result.get();
} else {
throw new RuntimeException("Did not find property id - " + idProperty);
}
return theProperty;
}
@Override
public void save(Property theProperty) {
propertyRepository.save(theProperty);
}
@Override
public void deleteById(int idProperty) {
propertyRepository.deleteById(idProperty);
}
@Override
public void delete(int idProperty) {
propertyRepository.deleteById(idProperty);
}
属性服务接口
public interface IPropertyService {
public List<Property> findAll();
public Property findById(int theId);
public void save(Property theProperty);
public void deleteById(int theId);
public void delete(int idProperty);
}
属性库
public interface IPropertyRepository extends JpaRepository<Property, Integer> {
}
和按钮(更多变化)
@{/admin/properties/deleteProperty(idProperty=${tempProperty.idProperty})}"
@{/admin/properties/deleteProperty/{idProperty}'(idProperty=${tempProperty.idProperty})}"