SpringBoot

· SpringBoot
overview 아무 생각없이 ip 를 가져와 보고 싶었다. 클라이언트 ip 를 가져오게 되면 좀 괞찬은 프로젝트를 할 것 같아서 .. 필터 구축 필터 등록 문서 https://khrdev.tistory.com/entry/Java%EB%A1%9C-Client-IP-%EC%B0%BE%EB%8A%94-%EB%B0%A9%EB%B2%95 Java로 Client IP 찾는 방법 Java로 개발을 하다 보면 로그인 이력을 남기거나 하는 상황에 Client IP를 데이터베이스에 Insert 하는 로직을 만들어야 하는 경우가 생길 수 있다.. 크게 2가지의 방법이 존재하는데 하나하나 설명 khrdev.tistory.com https://developer.mozilla.org/ko/docs/Web/HTTP/Headers..
Overview Stomp 메시지에 대해서 간!단!히! 해보자 저번에 했던것들을 보면서 아 잘못적은것도 많고 아직 안되는 부분도 많지만 딱 핵심적인 부분만 보자 코드위주로 보게 될것이다. config handler controller service JDK : 17 Springboot : 3.2.~ // websocket implementation 'org.springframework.boot:spring-boot-starter-websocket' 1. Config 첫번째 설정파일이다. 따로 이야기를 할 것은 WebSocketMessageBrokerConfigurer 을 상속받아 사용한다. 1. registerStompEndpoints 는 엔드포인트를 지정한다. 한마디로 http://localhost:포트..
· SpringBoot
문서 참조 https://wildeveloperetrain.tistory.com/144#google_vignette @RequestBody @ResponseBody 어노테이션 이해하고 사용하기 클라이언트와 서버의 통신(HTTP) @RequestBody, @ResponseBody Annotation을 이해하기에 앞서, 클라이언트와 서버 간 통신에 대해서 먼저 간단하게만 살펴보겠습니다. HTTP(HyperText Transfer Protocol) 통신이란, 브 wildeveloperetrain.tistory.com HTTP 클라이언트와 서버의 통신(HTTP) @RequestBody, @ResponseBody Annotation을 이해하기에 앞서, 클라이언트와 서버 간 통신에 대해서 먼저 간단하게만 살펴보겠습..
· SpringBoot
Overview RestTemplate에 대해 이해해보자 RestTemplate HttpHeaders MultiValueMap HttpEntity URI , UriComponentsBuilder 모든 과정을 요약 1. RestTemplate 이란? RestTemplate은 스프링 프레임워크에서 제공하는 HTTP 클라이언트 라이브러리이며, RESTful 웹 서비스를 호출하고 그 결과를 받아오는 기능을 제공한다. 참조문서 https://adjh54.tistory.com/234 [Java] Spring Boot Web 활용 : RestTemplate 이해하기 해당 글에서는 RestTemplate에 대해 이해하고 활용 방법에 대해 확인해 봅니다. 1) RestTemplate 💡 RestTemplate - HTT..
· SpringBoot
@JsonNaming, @JsonProperty의 사용법을 소개하기에 앞서 사용할 코드를 작성하도록 하자. json으로 넘어오는 값이 아래와 같다고 가정하자(post든 put이든 ..) { "my_name": "kevin", "my_age": 20, "my_country": "korea" } 자바 Entity는 다음과 같다고 가정하자. @Data public class Student { private String myName; private String myAge; private String myCountry; } 컨트롤러는 다음과 같다. @RestController @RequestMapping("/api") public class StudentController { public void post(@Re..
· SpringBoot
0. OAuth 2.0 인증 방식에 이해 사용자가 자신의 계정 정보를 직접 공유하지 않아도 서드 파티 애플리케이션들이 제한된 접근을 할 수 있게 해줍니다. 구분 설명 인증(Authentication) ID와 비밀번호로 사용자 신원을 확인 각 서비스에 사용자가 카카오계정으로 로그인할 수 있는 기능 지원서비스에서 각 사용자를 식별할 수 있는 고유한 회원번호 제공참고: https://developers.kakao.com/docs/latest/ko/kakaologin/common#oidc 지원, 로그인 세션 대신 사용 가능한 ID 토큰 제공 가능 인가(Authorization) 사용자 개인정보와 같은 자원(Resource)에 대한 접근 권한 획득https://developers.kakao.com/docs/lat..
· SpringBoot
참조 문서 https://velog.io/@tjddus0302/Spring-Boot-%EB%A9%94%EC%9D%BC-%EB%B0%9C%EC%86%A1-%EA%B8%B0%EB%8A%A5-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0-Gmail velog velog.io 목적 및 개요 프로젝트를 진행하던 중에 회원에게 메일을 발송하는 기능을 구현해야겠다는 생각이 들었다. 회원가입 시 이메일 인증을 하고, 비밀번호를 분실했을 때 임시 비밀번호를 발송하는 기능을 구현하였다. 메일을 발송하는 방법은 여러가지가 있지만 Gmail의 SMTP 서버를 활용하여 이메일을 발송하는 방법을 이용하여 기능을 구현해보았다. 개발 환경 Spring Boot 3.1.8 Java 17 eclipse 구글 계정 설..
· SpringBoot
Server to Server 💡 1. RestTemplate 사용 이유 RestTemplate은 Spring Framework에서 제공하는 HTTP 통신을 간편하게 처리할 수 있는 클래스입니다. org.springframework.web.client.RestTemplate 패키지에 존재 합니다. RESTful 웹 서비스와의 통신을 위해 주로 사용되고 기본적으로 동기 방식으로 처리되며, 비동기 방식으로 처리하고 싶을 경우 AsyncRestTemplate를 사용하면 됩니다. https://jsonplaceholder.typicode.com/ RestTemplate 대표적인 메서드 RestTemplate Method HTTP Method 설명 getForEntity GET get 요청을 보내고 Respons..
· SpringBoot
implements HandlerInterceptor? 밑과 같이 preHandle , postHandle , afterCompletion 중 선택해서 할 수 있다. 메서드 의미 preHandler Controller 로 들어가기 전에 동작 postHandle 뷰가 렌더링 되기 전에 호출되는 메서드 afterCompletion 요청 처리가 완료 된 후, 뷰 렌더링이 완료된 후 호출된다. /* * Copyright 2002-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with t..
· SpringBoot
1. @ModelAttribute와 @RequestBody @ModelAttribute와 @RequestBody는 Spring MVC에서 요청을 처리하는 데 사용되는 두 가지 다른 어노테이션입니다. @ModelAttribute: @ModelAttribute 어노테이션은 주로 HTML 폼 데이터를 컨트롤러 메소드의 매개변수로 바인딩하는 데 사용됩니다. 클라이언트에서 전송된 폼 데이터를 자동으로 객체로 변환하고, 이를 컨트롤러 메소드의 매개변수로 전달합니다. 이 어노테이션을 사용하면 스프링은 매개변수로 선언된 객체를 자동으로 생성하고 해당 객체의 필드를 클라이언트에서 전송된 폼 데이터와 매핑합니다. 주로 HTML 폼으로부터 데이터를 수집하고 이를 객체로 변환하는 경우에 사용됩니다 @RequestBody: @..
· SpringBoot
1. GET, POST, PUT, DELTE 2. Path Valiable vs Query Parameter 💡 쿼리 스트링(Query String)과 경로 매개변수(Path parameter)는 모두 HTTP 요청에서 파라미터를 전달하는 방식입니다. 그러나 다음과 같은 차이점이 있습니다. 쿼리 스트링(Query String) - URL 뒤에 '?'를 붙이고 파라미터를 key-value 쌍으로 전달합니다. - 파라미터는 '&'로 구분되며, '='로 key와 value를 구분합니다. - 브라우저의 캐시와 검색 엔진에서 높은 가중치를 부여합니다. - 파라미터를 전달할 때 key와 value를 쌍으로 전달하기 때문에, 파라미터를 생략하거나 순서를 변경해도 문제가 없습니다. - 예시 : **`http://exa..
· SpringBoot
Overview session , JSPL c 라이브러리 사용 Controller jsp 1. Controller /** * 로그인 요청 처리 * @param SignInFormDto */ @PostMapping("/sign-in") public String signInProc(SignInFormDto dto) { httpSession.setAttribute("principal", user); return "redirect:/..."; } //로그아웃 기능 @GetMapping("/logout") public String logout() { httpSession.invalidate(); // 세션 삭제 return "redirect:/..."; } 2. JSP - session 사용 JSPL C 라이브러..
별이춤추는밤
'SpringBoot' 카테고리의 글 목록