虽然这种情况对于现成的重写方法来说很容易,但我无法找到自己的查询方法。
这是我的资源库:
public interface CommentRepository extends JpaRepository<User , Long >{
@Modifying
@Transactional
@Query( value="delete from users where first_name=:name" , nativeQuery=true )
public void delete( String name );
}
这是我的控制器:
@RestController
@RequestMapping(path="/api/v1/users")
public class CommentController {
@Autowired
CommentRepository repository ;
// Delete user
@DeleteMapping(path="/delete")
public void delete(@RequestParam String name) {
repository.delete(name) ;
}
}
例如,如果我删除了一个用户,我希望在查询成功的情况下将状态代码200传递给开发人员。
但是,如果查询失败,我希望传递不同的代码。
2条答案
按热度按时间6pp0gazn1#
看看响应实体,使用它您将能够配置一切,包括状态代码。
https://www.baeldung.com/spring-response-entity
kpbpu0082#
在休息控制器中,您可以执行以下操作:
因为我不知道你的数据库结构,假设可以抛出一个
SQLIntegrityConstraintViolationException
,你可以创建一个服务层来处理这个异常。然后,您有许多方法可以行程新的例外状况。请在此阅读更多信息:https://www.baeldung.com/exception-handling-for-rest-with-spring
其中一种方法是将它放在@RestController类中
在最后一部分,您可以处理服务层上抛出的异常,并从相应的异常处理程序返回相应的状态代码。可以考虑使用一个全局异常处理程序,就像上面关于Baeldung的文章中所述的那样。希望它会有一点帮助。