Backend/Spring

스프링부트 프로젝트 진행 중 다음과 같은 에러가 발생 javax.persistence.EntityNotFoundException: Unable to find ... 원인 및 해결 방법 @OneToOne, @OneToMany 와 같은 annotation로 매핑된 id값이 0이거나 매핑되어있는 id의 자식객체가 없을 때 발생 DB에서 기존 테이블을 삭제하고 백업한 테이블 정보로 덮어 씌울 때 index의 Auto-Increament 설정이 누락되어 발생 DB에서 Auto-Increament 설정을 해주어 해결
controller에서 Map은 파라미터로 쓸수 있고 모델로도 쓸 수 있다. 그냥 쓰면 모델로 사용한다는 것이고 파라미터로 사용할 때는 @RequestParam과 같이 사용하여야 한다. @PostMapping("/api/foos") @ResponseBody public String updateFoos(@RequestParam Map allParams) { return "Parameters are " + allParams.entrySet(); } @RequestParam을 선택적으로 사용할 수도 있다. @GetMapping("/api/foos") @ResponseBody public String getFoos(@RequestParam(required = false) String id) { return "I..
@ControllerAdvice를 사용하여 예외처리 하는 방법을 알아보자. @ControllerAdvice public class ExceptionControllerAdvice { @ExceptionHandler(Exception.class) public String handleException(Exception e, Model model) { model.addAttribute("msg", "에러 발생"); return "error/error"; } @ExceptionHandler(NoHandlerFoundException.class) @ResponseStatus(value = HttpStatus.NOT_FOUND) public String handle404(NoHandlerFoundException e..
servlet-context.xml 의 많은 설정들 중 resources에 대해 알아보자. /assets/ 로 시작하는 부분은 Dispatcher로 넘기는게 아니라 /resources/assets/ 로 이동시키라는 의미이다. css, js 등이 적용이 안되는 현상의 원인으로 자주 등장한다. Dispatcher로 넘어가버리게 되어 404에러가 발생하기 때문이다.
Sungwoo Koo
'Backend/Spring' 카테고리의 글 목록