Spring 91

ResponseEntity란 - 개념, 구조, 사용법, 사용하는 이유

이거 옜날에 적은건데,, 꾸준히 블로그로 유입되시는 분들이 계셔서 부끄러운 마음에 내용을 조금 더 추가해 보았습니다..ㅎㅎ 앞으로도 계속 변경되거나, 알게된 내용 추가할 예정이고, 틀린부분이나 부족한 부분이 있다면 알려주시면 감사하겠습니다~ ResponseEntity란 ResponseEntity란, httpentity를 상속받는, 결과 데이터와 HTTP 상태 코드를 직접 제어할 수 있는 클래스이다. ResponseEntity에는 사용자의 HttpRequest에 대한 응답 데이터가 포함된다. ✨ 또한, HTTP 아케텍쳐 형태에 맞게 Response를 보내주는 것에도 의미가 있습니다. 에러 코드와 같은 HTTP상태 코드를 전송하고 싶은 데이터와 함께 전송할 수 있기 때문에 좀 더 세밀한 제어가 필요한 경우 ..

Spring/Spring Boot 2022.01.16

[Spring] spring boot - 외부 Rest API json으로 받아오기(JAVA)

JAVA로 외부 api 값을 받아오는 방법은 3가지가 있다. httpurlconnection httpclient spring resttemplate 오늘은 이 3가지 방법에 대해서 알아보고 뭐를 사용할지 알아보고자 한다. + 결론은 3가지방법을 대략적으로 파악하고, 최신 트렌드?에 맞는 RestTemplate를 쓰기로했다! 자바 Http 통신 위의 3가지 방식이 나오게된 순서를 보면 먼저, 순수 자바로만 HTTP통신을 할 수 있는 1) HttpURLConnection 클래스가 있었고, 이걸 사용하기 쉽게 추상화해서 만들어진게 2) Apache HttpClient이며 요것이 최근에 버전업을 해서 -> HttpComponents로 사용이 되고있다. 3) Spring RestTemplate는 이런 기술들을 기..

Spring/Spring Boot 2022.01.15

인텔리제이 spring boot 실행 에러

tomcat-embed-core-9.0.56.jar; zip file is empty .gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed [ionshutdownhook] j.localcontainerentitymanagerfactorybean closing jpa entitymanagerfactory for persistence unit 'default' application context not configured for this file intellij exited with code 0 인텔리제이로 스프링을 실해하면 이런 에러코드와 함께 바로 꺼지는 현상이 발생... 왜이런게 일어나고 해결법이 뭔지 모르겟어서 이거저고 하던중, 그냥 로컬 피씨에있는..

Spring/Spring err 2022.01.15

[Spring] API 문서 자동화 2 - Sping REST Docs

✨ api 문서화 정리 글 Swagger Spring Rest Docs RestDocs + Swagger-UI 같이사용하기 아래의 버전인 상황에서 적용을해본 예제입니다 참고해주세요 :) spring boot 3.0 jdk 17 gradle 7.5.1 1. Spring REST Docs란 Spring 에서 API 문서를 자동화하는 또 다른 방법은 Spring Rest Docs 입니다. 2. Swagger VS Spring Rest Docs 자바 문서 자동화에는 주로 Swagger 와 Spring Rest Docs 가 사용됩니다. Spring Rest Docs Swagger 장점 제품코드에 영향이 없다 API를 테스트 해 볼수 있는 화면을 제공한다. 테스트가 성공해야 문서가 작성된다. 적용하기 쉽다. 단점 ..

Spring/Spring Boot 2021.12.31

[Spring] API 문서 자동화 1 - Swagger

✨ api 문서화 정리 글 Swagger Spring Rest Docs RestDocs + Swagger-UI 같이사용하기 이번에는 API 문서 자동화를 해보려 한다. API 문서 자동화 방법은 지금까지 내가 알기로는 1. 스웨거 (Swagger) 2. Spring RestDoc 2가지 방법이 존재하고, 2번은, Spring에서만 되는거 같기 때문에, Swagger를 사용해보고, Spring RestDoc을 마지막으로 적용해볼 예정이다. 1. 스웨거란 (Swagger) 스웨거는 개발자가 REST 웹 서비스를 설계, 빌드, 문서화, 소비하는 일을 도와주는 대형 도구 생태계의 지원을 받는 오픈 소스 소프트웨어 프레임워크이다. - 위키 Swagger란, 간단한 설정으로 프로젝트에서 지정한 URL들을 HTML화..

Spring/Spring Boot 2021.12.29

JPA pageable 페이징 정렬, 외부 참조 엔티티 리스트 개수로 정렬할때 - @Formula

문제 Spring Data JPA를 이용해서 페이지네이션-정렬을 구현하는데, 외부 참조 엔티티의 참조하는 엔티티의 수?를 이용해서 정렬을 하고싶다. (좋아요 수) 이게 방법을 몰라, 일단, 외부 엔티티를 참조하는 멤버변수의 이름으로 정렬을 해보니, 정렬이 되긴 되었다. 하지만, 첫번째 데이터가 한번 더 중복되서 나오는 문제가 발생 심지어 순서대로 중복되는 것도 아님 왜 중복이되서 나오지조차 감이 안잡힘 DomainEntity.class @Table(name = "post") public class Post extends Timestamped { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "id") private Long idx;..

Spring/Spring Boot 2021.12.29

[Spring] JPA의 이해(JPA, Hibernate)

순서 1. JPA란 2. ORM이란 3. JPA 구조 - 하이버네이트 4. JPA 와 Spring data JPA 의 차이 5. Spring Data JPA 키워드 1. JPA란 JPA 는 Java Persistence(영속성) API 입니다. 여기서 Persistence란, 사전적 의미로 "영속성"을 의미하며, 데이터가 (없어지지 않고 오랜동안) 지속됨을 의미합니다. 램은 휘발성 데이터를 저장 - 컴퓨터가 꺼지면 사라짐 데이터가 날라가지 않도록 -> 하드디스크에 저장하면 안 사라짐 => 이게 퍼시스턴스(영구히 기록) 다시 JPA란, Java Persitance API 는 "자바에서 데이터를 영구히 기록할 수 있는(DBMS에) 환경을 제공하는 API" 라고 말할 수 있다. 여기서 API는, 애플리케이션(..

Spring/Spring Boot 2021.12.29

[Spring] 스프링 부트 페이지네이션 (Query, JPA, offset / cursor 페이지네이션)

페이지네이션을 구현해보자!! spring boot 의 JPA를 이용해서 구현을 할 예정이다 페이지네이션을 구하기 위해서는 요롷게 3가지를 생각해 주어야한다. view size : 한페이지에 보여줄 개수 total page : 전체 페이지 개수 page : 현재 페이지 1. 첫번째 아이디어 단순, findAll()로 List로 불러와 list.sublist 로 잘라주었다. //게시글 목록 @GetMapping("/post-list") public List getPostList(@RequestParam("page") int page){ List resultList = postService.getPostList(); List postList = Arrays.asList(modelMapper.map(result..

Spring/Spring Boot 2021.12.23

[Spring] 스프링 시큐리티 - 카카오 소셜로그인 하기(OAuth)

https://developers.kakao.com/console/app 카카오계정 로그인 여기를 눌러 링크를 확인하세요. accounts.kakao.com 카카오 로그인 설정하기 카카오 로그인을 하기 전에 개발자 사이트에서 '어플리케이션 등록'을 해야 합니다. 1. 회원가입 후 어플리케이션 추가 2. 앱 이름, 사업자명 저장 3. 사이트 도메인 등록 애플리케이션 선택 플랫폼 메뉴 선택 Web 플랫폼 등록 사이트 도메인 입력 4. Redirect URI (callback) 설정 카카오 로그인을 하기위해서 인가토큰을 받게 될 Redirect URI(callback)을 설정해야한다. 5. 동의 항목 설정하기 프로필 정보와 이메일 정보를 체크합니다. 나머지는 사용할 수 가 없습니다.. 카카오 로그인 구현하기 ..

Spring/Spring Boot 2021.12.04

[Spring] 스프링 시큐리티 사용하기 - spring security (로그인, 로그아웃, 회원가입)

레거시(?) 블로그 글 입니다. JWT 토큰과 Sping Boot 3.0 + Spring Security6 를 이용한 Rest API 방식의 인증-인가 방식을 이용한 더 자세한 내용을 원하시는 분은 아래 글을 참고해주세요 ! 🤗 https://thalals.tistory.com/436 스프링 시큐리티 프레임워크 스피링 시큐리티(Spring Security) - '스프링 시큐리티' 프레임워크는 스프링 서버에서 필요한 인증 및 인가를 위해 스프링에서 제공해주는 프레임워크입니다. 스프링 시큐리티 프레임워크 추가(빌드 추가) build.gradle // 스프링 시큐리티 implementation 'org.springframework.boot:spring-boot-starter-security' // Thymel..

Spring/Spring Boot 2021.12.04
반응형