분류 전체보기 478

[Spring] 웹의 인증,인가 / 쿠키와 세션

웹의 인증 및 인가 인증(Authentication) : 사용자 신원을 확인하는 행위 (로그인, 아이디 패스워드) 인가(Authorization) : 사용자 권한을 확인하는 행위 (역할에 따른 접근권한, ex) 카페 등급) 인증: 회사 출입을 위한 출입증 확인 혹은 생체정보 (지문, 홍채) 인식 인가: 회사 건물 내 접근 권한 관리 방문자 → 회의실만 접근 가능 직원 → 회의실, 사무실 접근 가능 관리자 → 회의실, 사무실, 서버실, 물품보관실 접근 가능 쿠키와 세션 쿠키나 세션이 필요한 이유 HTTP는 상태를 저장하지않습니다, ('Stateless' 하다) 이게 무슨 말이나면, 아래의 그림에서 클라이언트의 요청(Request)을 서버에 보낸 후 응답(Response)를 받을 때까지가 하나의 HTTP 요..

Spring/Spring Boot 2021.12.03

[TIL] 12.03 -스파르타 내일배움캠프 82일차

TIL 1. spring은 버전 업을 하면서 레거시 코드가 짱짱 많다. 그래서 다양한 방법이 존재한다.. 뭐가 틀리고 맞는게 아니라.. 저스트 오래되서,.. 그런거였어 오늘 하루 1. 좋았던 점 팀프로젝트 내 할당역할을 모두 끝냈다. 오늘은 그동안 한10일? 정도 프로젝트 하면서, 새롭게 알게된 내용이나 애매하게 아는 내용을 정리해보는 시간을 가졌다. 머리속이 살짝 정리된 기분이다. 스프링이 조금 더 익숙해지면 좋겠다.. 이번 주에 배포를 해야하니까, 내일 오전에는 스프링 시큐리티 공부를 해보고, 오후부터는 배포 공부를 해보자 2. 아쉬운 점 계속 밤새워가며 하다보니 오전에 너무 맹하다 오전 시간이 제일 금같은 시간이라는걸 아는데 이걸 일찍자고 오전시간에 공부하기가 쉽지 않다. 뭐가 문제지? 난 왜 나태..

Spring Putmapping Json 과 File 데이터 함께 전송하기(Form data)

Restful 한 방법을 지키기 위해, 게시글 수정 하던 중, Put Method로 formdata에 file 데이터를 날려 보내는데, PUT에서 Formdata를 받지 못한다.. 여러 시행 착오중, @requestpart 로 받으면, put에서도 formdata를 받을 수 있는것을 확인했다. 하지만, dto로 매핑은 되지않고 하나씩만 받아와짐..ㅠ 그래서 Form data에 file 데이터와 Json 데이터를 key라는 이름으로 보내서 dto에 매핑 Ajax function update_post() { if (confirm("수정 하시겠습니까?") == false) { $('#modalClose').click(); } else { let content = $('#update-content').val()..

Spring/Spring Boot 2021.12.03

[Spring] JPA FindAll<Entity> to convert DTO (ModelMapper)

Spring에서는 DTO를 이용해서 사용자에게 Request를 받고, Response를 보냄으로써, 데이터를 보호한다. Request를 DTO로 받는방법은 정말 많고, 자료도 많지만 Response를 DTO로 변환하는 방법은 잘 나오지 않아 정리해 보고자 한다. 1) 가장 쉬운 방법 가장 쉬운 방법은 역시 노가다다. Response로 보내기 위한 엔티티 정보를 불러오와서, Setter로 하나씩 DTO 클래스에 입력해주면된다. 하지만 이건 쿨하지 못하다. 2) ModelMapper 이 글의 주된 목표이다. ModelMapper를 사용하면, 비교적 쿨하게, 한방에, 센스있는 converting이 가능하다. ModelMapper란 ModelMapper의 목표는 특정 사용 사례를 처리하기 위한 간단하고 리팩토링..

Spring/Spring Boot 2021.12.03

[Spring] JPA 매핑 연관관계 - 게시글에 댓글 달기

연관관계 엔티티(Entity)들은 서로 관계를 맺고 있습니다. 게시글(Post)에 댓글(Comment)를 달 수 있고, 하나의 게시글은 여러개의 댓글을 갖질 수 있습니다. 이러한 관계를 1대N의 관계라 하며 각각의 엔티티들이 어떤 연관관걔를 맺는지 파악하는 것은 중요합니다. JPA의 경우는 Entitiy 클래스의 어노테이션을 설정해 주는 것만으로도 엔티티간의 연관관계를 형성할 수 있습니다. 용어 1) 방향 단방향 관계 : 두 엔티티가 관계를 맺을 때, 한 쪽의 엔티티만을 참조하는 것 양방향 관계 : 두 엔티티가 관계를 맺을 때, 양 쪽이 서로 참조하고 있는 것 데이터 모델링에서는(Mysql) 관계를 맺어주기만 하면 자동으로 양방향 관계로 서로 참조하지만, 객체지향 모델링에서는 구현하고자 하는 서비스에 따..

Spring/Spring Boot 2021.12.03

[JPA] 상속 어노테이션 - @MappedSuperclass, @EntityListeners, JPA Auditing

@MappedSuperclass 객체의 입장에서 공통 매핑 정보가 필요할 때 사용한다. 부모클래스를 의미한다. 엔티티는 아니다. 공통되는 변수(컬럼)을 빼주기 위한 클래스이다. @MappedSuperClass로 지정해준 클래스를 상속받는 엔티티 클래스는, 상속받는 부모 클래스의 멤버변수를 컬럼으로 받는다. @EntityListeners(AuditingEntitiyListener.class) 해당 클래스에 Auditing 기능을 추가하는 것이다. 컬럼의 값이 변경됨을 감지합니다. JPA Auditing과 createAt등의 자세한 내용은 요기 https://thalals.tistory.com/220?category=516795 [Spring] JPA Auditting 과 TimeStamp Class (테이..

Spring/Spring Boot 2021.12.02

Cannot call sendError() after the response has been committed

Spring JPA 일 대 다 매핑 중 에러,, java.lang.IllegalStateException: Cannot call sendError() after the response has been committed at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:472) ~[tomcat-embed-core-9.0.55.jar:9.0.55] @JsonIgnore나 @JsonIdentityInfo 없이 해당 객체를 response한다면 java.lang.IllegalStateException: Cannot call sendError() after the response has been committed 와 같은 에..

Spring/Spring err 2021.11.30

[TIL] 11.26 -스파르타 내일배움캠프 75일차

TIL 1. modelmapper... 오늘 하루 1. 좋았던 점 지금은 새벽 3시.. 서서 코딩을 하고 있다 이제 그만할래.. 잘한점은 서서 코딩을 하고있는 나자신 그래도 TIL을 쓰고 자는 나 자신 2. 아쉬운 점 ModelMapper 가 그래서 어떻게쓰는거야아아머ㅏㄴ이르ㅏㅁ인르ㅏㅣ 아 잠을 좀 자고 맑은 정신에서 집중해서 해야겠다 3. 오늘 배운 점 잠은 자면서..

@NoArgsConstructor 과 @RequiredArgsConstructor

@NoArgsConstructor @NoArgsConstructor 어노테이션은 lombok 의 기능 중 하나이다. Getter, Setter 와 함께 당연시(?)되게 쓰이는 코드를 줄이기위해 쓰이는 어노테이션으로 알고있다. 주요기능은, 기본 생성자의 생성이다. 파라미터가 없는 생성자를 만든다. 초기 값이 필요한 final 필드가 있을 경우, 컴파일 에러 @NoArgsConstructor(force=true) 를 하면, 컴파일 에러를 내지 않고 0 / false / null 로 초기화 @RequiredArgsConstructor @RequiredArgsConstructor 어노테이션은 의존성 주입을 위해 사용한다. 주요 기능은 @NonNull이나 final이 붙은 필드에 대한 생성자를 생성한다. 두 어노..

Spring/Spring Boot 2021.11.25