SpringBoot2로 Rest api 만들기(7) – MessageSource를 이용한 Exception 처리

This commit is contained in:
kimyonghwa
2019-04-16 10:52:33 +09:00
parent ffd8fe10be
commit ffd8e8236d
7 changed files with 45 additions and 39 deletions

View File

@@ -30,42 +30,45 @@ public class UserController {
}
@ApiOperation(value = "회원 단건 조회", notes = "userId로 회원을 조회한다")
@GetMapping(value = "/user/{userId}")
public SingleResult<User> findUserById(@ApiParam(value = "회원ID", required = true) @PathVariable int userId,
@ApiParam(value = "언어", defaultValue = "ko") @RequestParam String lang) {
// 결과데이터가 단일건인경우 getSingleResult를 이용해서 결과를 출력한다.
return responseService.getSingleResult(userJpaRepo.findById(userId).orElseThrow(CUserNotFoundException::new));
@GetMapping(value = "/user/{msrl}")
public SingleResult<User> findUserById(@ApiParam(value = "회원ID", required = true) @PathVariable long msrl,
@ApiParam(value = "언어", defaultValue = "ko") @RequestParam String lang) {
// 결과데이터가 단일건인경우 getBasicResult를 이용해서 결과를 출력한다.
return responseService.getSingleResult(userJpaRepo.findById(msrl).orElseThrow(CUserNotFoundException::new));
}
@ApiOperation(value = "회원 입력", notes = "회원을 입력한다")
@PostMapping(value = "/user")
public SingleResult<User> save(@ApiParam(value = "회원이름", required = true) @RequestParam String name,
@ApiParam(value = "회원이메일", required = true) @RequestParam String email) {
User user = new User();
user.setName(name);
user.setEmail(email);
public SingleResult<User> save(@ApiParam(value = "회원아이디", required = true) @RequestParam String uid,
@ApiParam(value = "회원이", required = true) @RequestParam String name) {
User user = User.builder()
.uid(uid)
.name(name)
.build();
return responseService.getSingleResult(userJpaRepo.save(user));
}
@ApiOperation(value = "회원 수정", notes = "회원정보를 수정한다")
@PutMapping(value = "/user")
public SingleResult<User> modify(
@ApiParam(value = "회원ID", required = true) @RequestParam int userId,
@ApiParam(value = "회원이름", required = true) @RequestParam String name,
@ApiParam(value = "회원이메일", required = true) @RequestParam String email) {
User user = new User();
user.setId(userId);
user.setName(name);
user.setEmail(email);
@ApiParam(value = "회원번호", required = true) @RequestParam long msrl,
@ApiParam(value = "회원아이디", required = true) @RequestParam String uid,
@ApiParam(value = "회원이", required = true) @RequestParam String name) {
User user = User.builder()
.msrl(msrl)
.uid(uid)
.name(name)
.build();
return responseService.getSingleResult(userJpaRepo.save(user));
}
@ApiOperation(value = "회원 삭제", notes = "userId로 회원정보를 삭제한다")
@DeleteMapping(value = "/user/{userId}")
@DeleteMapping(value = "/user/{msrl}")
public CommonResult delete(
@ApiParam(value = "회원ID", required = true) @PathVariable int userId) {
userJpaRepo.deleteById(userId);
@ApiParam(value = "회원번호", required = true) @PathVariable long msrl) {
userJpaRepo.deleteById(msrl);
// 성공 결과 정보만 필요한경우 getSuccessResult()를 이용하여 결과를 출력한다.
return responseService.getSuccessResult();
}
}