일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 파이게임
- 자바8
- Leetcode
- 구글로그인
- 스프링
- springboot
- oracle
- 자바스크립트
- SQL 문제풀이
- python
- javascript
- oauth2
- SQL
- pygame
- 자바 스트림
- SQL프로그래머스
- 오라클
- 프로그래머스
- kotlin 클래스
- 코틀린 클래스
- java8
- 스프링부트
- 스프링시큐리티
- js
- Spring
- mysql
- LeetCode SQL
- 스프링부트 채팅서버
- spring boot
- MSA
- Today
- Total
목록스프링부트 (8)
웅겹살의 프로그래밍 삼매경
@Valid 어노테이션으로 파라미터 검증하기 따로 dependency해 줄 필요가 없었지만 지금은 dependency 해줘야 작동하는듯하다.. valid 라이브러리 받는 곳 https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation 나는 2.4.4 버전을 사용한다. org.springframework.boot spring-boot-starter-validation 2.4.4 implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation', version: '2.4.4' javax.validation이 제공하는..
oauth2 구글, 페이스북, 네이버 적용완료 자세한 내용은 추후 작성하고 주요작업파일 기록한다 1. application.yml 2. PrincipalOauth2UserService 3. FacebookUserInfo 4. GoogleUserInfo 5. NaverUserInfo 6. Oauth2UserInfo 7. SecurityConfig
oauth2 google 로그인화면까지 띄우는 내용 기록한다 1. console.cloud.google.com/apis 접속한다 https://console.cloud.google.com/apis Google Cloud Platform 하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요. accounts.google.com 2. 체크표시된 부분 클릭 후 뜨는 팝업에서 새 프로젝트 생성 클릭 3. 사용할 프로젝트 이름 기입 4. 앱 이름, 본인 이메일만 기입하고 넘어간다. 5. 범위, 테스트 사용자는 바로 넘어간다 6. 마지막 요약 화면에서 확인 후 만들기 클릭 7. 생성한 프로젝트로 접속 8. 사용자 인증정보 > Oauth 클라이언트 ID 클릭 후 ..
카카오로그인 작업중 oauth2로 추후 변경예정 구글 페이스북 등등 다해버리자 RestAPI같은 방식으로 회사에서 많이해서그런지 익숙하다 역시 RestTemplate 사용하는 방식이 편하다 카카오로그인 토큰요청까지 작업함 필요한 내용 주석달았음 카카오에서 제공하는 로그인버튼 넣었더니 간지작살난다 @GetMapping("/auth/kakao/callback") public @ResponseBody String kakaoCallback(String code){ // POST방식으로 key=value 데이터 요청(카카오쪽으로 찌른다) RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); headers.ad..
회원수정 DB, 세션 둘다 수정되는 로직 기록한다 필요한 내용 주석으로 달아둠 OAUTH2 작업중으로 수정예정 1. UserApiContoller @PutMapping("/user") public ResponseDto update(@RequestBody User user){ userService.update(user); // 여기서는 트랜잭션이 종료되기 때문에 DB값은 변경이 됐음 // 하지만 세션값은 변경되지 않은 상태이기때문에 세션값 갱신이 필요함 // 세션 등록 Authentication authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(user.getUsername(), user.ge..
스프링부트 + JPA + 스프링시큐리티 프로젝트 진행중 시큐리티 관련내용 기록용으로 글 작성한다 OAUTH2 작업중으로 추가예정 설명 필요한부분 주석달아둠 1. SecurityConfig package com.leo.blog.config; import com.leo.blog.config.auth.PrincipalDetailService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.secur..
URL 관련 이름 사용법 설명 Context-relative URL 서버 내 특정 위치로 이동 Adding Parameter URL 파라미터를 추가하는 방식의 URL 첫번째 줄은 고정적인 값을 넘길때, 두번째 줄은 서버에서 받아온 값을 넘길때 If/Else, For 문 이름 사용법 설명 if/else th:if = "${size} == '0' " th:unless = "${size} == '0' " 프로그래밍에 if else. for th:each="obj : ${list}" 향상된 for each문이라고 생각하면 된다. ${list}에 있는 객체가 obj로 맵핑된다. If/Else, For문 예제 Table에서 사용시, 아래와 코드와 같이 혼합해서 사용가능. ${list}객체를 user가 받아 user..
@RequestMapping => value에는 url, method는 get, post 같은 HTTP 프로토콜 방식을 써주면 된다. 즉 클라이언트가 URL로 서버에 요청을 하면 해당 URL을 맵핑하고 있는 메소드가 해당 요청을 처리하고 응답해준다고 보면 된다. @ResponseBody => HTTP 의 body를 읽는데 필요하다. ajax로 통신할 때 json 메세지를 읽는데 필요하여 사용했으며, ajax에게 map형태로 간단한 성공 여부를 알려주기위해 return type을 Map 타입으로 하였다. @RequestParam => 타임리프의 input의 name이나 Get방식 url의 키값같은, 즉 클라이언트로부터 요청받은 키의 이름과 매핑하여 컨트롤러에서 사용할 수 있다. @ModelAttribute..