Я хочу управлять пользовательскими проектами через JSON API, и я хотел бы использовать контроллер относительного пути.Вот так:
@RequestMapping(value="/users/{userId}/projects",
headers="Accept=application/json")
@Controller
public class UserProjectsController {
@Autowired
private UserRepository userRepository;
@RequestMapping(method=RequestMethod.GET)
public @ResponseBody Object getAllUserProjects(@PathVariable String userId) {
User user = userRepository.findById(userId);
if (user == null) {
return new ResponseEntity<String>(HttpStatus.NOT_FOUND);
}
return user.getGivenProjects();
}
}
Я добавлю множество методов и каждый раз буду проверять, существует ли пользователь.Вместо добавления этого фрагмента кода:
User user = userRepository.findById(userId);
if (user == null) {
return new ResponseEntity<String>(HttpStatus.NOT_FOUND);
}
... при запуске каждого метода, я хотел бы создать пользовательскую аннотацию, которая будет возвращать 404, если пользователь не существует.
Я нашел этот урок , чтобы сделать это.Это действительно так сложно, как описано?Знаете ли вы другое решение?(Я хотел бы избежать написания 2 классов и более 50 строк кода только для аннотирования 4 строк.)
Спасибо.