728x90

2023/10 20

Spring - 데이터베이스를 통한 토큰 검증 / 쿠키를 통한 인증 및 검증

1. 데이터베이스를 통한 토큰 검증 - Test 코드 @Test @DisplayName("로그인 후 권한이 필요한 페이지 접속한다. /test2") void test4() throws Exception { //given Member member = Member.builder() .name("백인수") .email("saymay10@naver.com") .password("1234") .build(); Session session = member.addSession(); //addSeeion()을 하게 되면 Session 객체가 생성되고, Session 객체가 생성되는 것만으로도 //accessToken 필드에 값이 들어간다. memberRepository.save(member); //expected mo..

Programming/Spring 2023.10.06

Spring - 예외처리 복습!!!!!!!

- ExceptionController.java @Slf4j @ControllerAdvice public class ExceptionController { @ResponseBody @ExceptionHandler(IslogException.class) public ResponseEntity islogException(IslogException e) { int statusCode = e.getStatuscode(); ErrorResponse body = ErrorResponse.builder() .code(String.valueOf(statusCode))//애초에 받아올 때 String으로 받아오던가 반환값을 뭐 알아서 변경하면 된다. .message(e.getMessage()) .validation(e...

Programming/Spring 2023.10.05

Spring - API 인증 (http, 고정 인증 로그인 구현)

- Resolver를 사용 할 때 파라미터로 인증 토큰을 받게 되면 값이 중복 될 수 있기 때문에 header를 통해 받는 것이 좋다. ....... @Override public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception { String accessToken = webRequest.getHeader("Authorization"); if (accessToken == null || accessToken.equals("")) { throw new Unau..

Programming/Spring 2023.10.04

Spring - API 인증 (ArgumentResolver)

- ArgumentResolver란 Spring MVC에서 사용되는 인터페이스로, 컨트롤러 메서드의 매개변수를 해석하고 해당 매개변수에 값을 제공하는 역할을 한다. 이를 통해 컨트롤러 메서드에서 다양한 매개변수 타입을 처리하고 커스텀한 바인딩 로직을 구현할 수 있다. - HandlerMethodArgumentResolver 인터페에스를 상속 받고 다음과 같은 메서드를 정의한다. 1. supportsParameter(MethodParameter parameter) : Resolver가 특정 매개변수를 지원하는지 여부를 판단하는 데 사용된다. MethodParameter 객체를 인자로 받고, 지원하는 매개변수인 경우 true를 반환하고, 그렇지 않은 경우, false를 반환해야 한다. 2. resolveAr..

Programming/Spring 2023.10.04

자주 헷갈리거나 까먹는 것들 정리

- super - super가 단독으로 사용되면, 자식 클래스에서 부모 클래스의 생성자를 호출한다. - HttpServletRequest 속성에 대해 HttpServletRequest는 Java Servlet에서 HTTP 요청과 관련된 다양한 정보를 제공하는 인터페이스입니다. 이 인터페이스를 사용하여 HTTP 요청의 다양한 속성(attribute) 및 정보를 읽어올 수 있습니다. 주요 HttpServletRequest 메서드와 해당 메서드를 통해 얻을 수 있는 정보는 다음과 같습니다: getHeader(String name): 지정된 이름의 HTTP 헤더 값을 반환합니다. 예를 들어, request.getHeader("User-Agent")는 User-Agent 헤더 값을 반환합니다. getMethod(..

Programming/TMP 2023.10.04

Spring - API 인증 (파라미터, Header, Interceptor)

- API 인증은 요청이 들어올 때 인증된 요청인가 허용된 사용자인가 확인 후 수행하기 위해서 사용한다. - Get Parameter 방식 @PostMapping("/posts") public void post(@RequestBody @Valid PostCreate request, @RequestParam String authorization) { if(authorization.equals("bis")){ request.validate(); postService.write(request); } } 1. RequestParam 방식을 이용하여 쿼리 파라미터로 넘어오는 값을 비교하는 방법이 있다. - test 코드 //when mockMvc.perform(MockMvcRequestBuilders.post("..

Programming/Spring 2023.10.04

Vue, Spring - 간단한 블로그 만들기 - 2 (글 작성, 글 수정 (1차 마무리))

https://insoobaik.tistory.com/518 Vue, Spring - 간단한 블로그 만들기 - 2 (views 생성 및 Spring 데이터 요청 및 응답) https://insoobaik.tistory.com/517 Vue, Spring - 간단한 블로그 만들기 - 1 (Vue 설정) - 실행 구조 1. Spring Boot - Spring Boot는 내장된 웹 서버(Tomcat 등)을 사용하여 백엔드 서버를 실행한다. - 애플리케이션을 실행 insoobaik.tistory.com - 이전 블로그의 Home 페이지, Read 페이지에 이어 글을 작성하는(Write) 화면과, 글을 수정하는(Edit) 화면에 대한 작업을 할 것이다. - Header.Vue의 코드 중 Home Write 위 ..

AXIOS

- AXIOS는 Javascript 및 Node.js 환경에서 사용할 수 있는 HTTP 클라이언트 라이브러리이다. - Axios를 사용하면 웹 애플리케이션에서 HTTP 요청을 보내고 받는 작업을 간단하게 처리할 수 있다. - 이 라이브러리는 Promise 기반의 API를 제공하여 비동기적으로 HTTP 요청을 수행할 수 있으므로 서버와의 통신이나 API 요청을 쉽게 처리할 수 있다. 1. 간편한 HTTP 요청 : Axios를 사용하면 GET, POST, PUT, DELETE 등의 HTTP 요청을 쉽게 생성하고 보낼 수 있다. 2. Promise 기반 : Axios의 HTTP 요청은 Promise를 반환하므로 비동기적인 코드를 작성할 수 있다. 3. 요청 및 응답 인터셉터 : Axios는 요청을 보내기 전과..

Programming/TMP 2023.10.02

Vue, Spring - 간단한 블로그 만들기 - 2 (views 생성 및 Spring 데이터 요청 및 응답)

https://insoobaik.tistory.com/517 Vue, Spring - 간단한 블로그 만들기 - 1 (Vue 설정) - 실행 구조 1. Spring Boot - Spring Boot는 내장된 웹 서버(Tomcat 등)을 사용하여 백엔드 서버를 실행한다. - 애플리케이션을 실행하려면 Java 개발 환경을 설정하고, 해당 애플리케이션을 빌드하여 실행 insoobaik.tistory.com - 이전 Vue의 기본적인 설정들을 마치고, views 페이지들을 생성하고, 이전에 만들어둔 Spring 서버로 요청하고 응답을 받아 볼 것이다. path / /write /read/:postId /edit/:postId component HomeView WriteView ReadView EditView - ..

728x90