У меня есть объект Пользователь и объект Пост с отношением Один пользователь к множеству сообщений .Чтобы получить пользовательский ресурс, я делаю GET
запрос к этой конечной точке в UserController :
http://localhost:8080/users/{userId}
Если запрошенный userId
не соответствует пользователю в MySQL, я выбрасываюисключение с ошибкой 404 User not found через класс UserService (код ниже).
public User getUser(Integer id) throws ResourceNotFoundException{
return userRepository.findById(id).map(user -> {
return user;
}).orElseThrow(() -> new ResourceNotFoundException("User with the ID " + id + " is not available"));
}
Теперь, чтобы получить ресурс Post , я использую этоконечная точка на PostController :
http://localhost:8080/users/{userId}/posts/{postId}
Мой вопрос : Что делать, если я запрашиваю сообщение (что бы это ни было) для несуществующего пользователя?Является ли лучшая логика для выдачи ошибки 404 User not found или сообщение не найдено?Если так, как я могу объединить UserService getUser(id)
и PostService getPost(id)
, чтобы выдать ошибку?