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行に注釈を付けることは避けたいと思います。)
ありがとうございました。