본문 바로가기

전체 글87

Maven VS Gradle 회사에서 신규로 프로젝트 진행중인데 수행사에서 개발스펙을 아래와같이 들고왔다. Java 17(OpenJDK) API : Spring boot 3.1.0(Maven 기반) 프론트사이트 : vue.js 3.x + nuxt.js 관리자사이트 : vue.js (bootstrap style) Mysql Ver 8.X 순간 두눈을 의심했다. Maven...????? 메 이 븐? ( 참고로 우리는 Gradle 로 진행해달라고 사전에 미리 요청한 상태 ) 그리고 프론트사이트는 Nuxt로 하면서 관리자는 또 왜 아니야? 뭐 따로 가는겨? stateless 하게 가달랬더니 maven 을 들고 온 게 좀 불안하다. (아 설마 JSP 쓰는거아니겠지^^) 그래도 이유가 있을까?.....싶어 Maven 의 장단점을 찾아보았다. .. 2023. 9. 7.
ErrorContoller 오류처리 SpringBoot Application 구동 후 별다른 작업없이 페이지에 접속해보면 아래와 같은 화이트레벨 에러페이지를 볼 수있다. Spring Boot는 오류가 발생하면 server.error.path 에 설정된 경로에서 요청을 처리하게 한다. Spring Boot에서는 기본적으로 BasicErrorController가 등록이 되어 해당 요청을 처리하게 된다. (HTML로 응답을 주는 경우 errorHtml에서 응답을 처리, JSON은 ErrorAttributes에서 가져온 모델로 응답을 생성) 페이지 문구에 '/error' 에 매핑된게 없다고 하니 직접 만들어주자. ErrorController의 구현체를 개발자가 bean으로 등록한다면 Spring Boot는 해당 빈을 먼저 찾아 BasicError.. 2023. 9. 6.
Global Exception 처리 개발 할 때 try-catch{ } 문으로 예외 처리를 하다보면 공통적으로 잡는 Exception 이 보인다. 난 중복된 코드를 싫어하기에 매번 Method 작성할 때마다 같은류의 try catch 가 보이는게 보기 싫었다. 그래서 찾은게 @ControllerAdvice @ControllerAdvice ➔ @ExceptionHandler, @ModelAttribute, @InitBinder 가 적용된 메서드들에 AOP를 적용해 Controller 단에 적용하기 위해 고안된 어노테이션. 클래스에 선언하면 되며, 모든 @Controller에 대한, 전역적으로 발생할 수 있는 예외를 잡아서 처리할 수 있다. @RestControllerAdvice (@ControllerAdvice + @ResponseBody).. 2023. 9. 6.
Nuxt(Vue) 로 admin page 만들기 (2) 이번엔 로그인페이지를 갖다붙여보려한당! 1. page/login.vue 로그인컴포넌트 생성 Admin Login Login Sign Up 2. 기존에 layouts/default.vue 의 컴포넌트가 레이아웃으로 적용되면 안되기에 로그인용 레이아웃을 또 따로 만들어주었다. import { Component, Vue } from 'nuxt-property-decorator'; @Component({ name: 'fullPage' }) export default class fullPage extends Vue {} 3. login.vue 에 레이아웃 변경. export default { name: 'Login', layout : 'fullPage', ..... } 4. http://localhost:3000.. 2023. 9. 5.