공부/Spring 사용한 프로젝트
-
TIL 78일 - mvc test공부/Spring 사용한 프로젝트 2022. 3. 17. 21:44
WebMvcTest, AutoConfigureMockMvc 어노테이션 Spring MVC 테스트를 할 때 오직 Spring MVC 컴포넌트에서 포커스를 맞춰서 테스트한다. 테스트 코드를 작성할 때 이 어노테이션을 붙이면 full auto configuraiton은 중지되고, 대신에 오직 MVC 테스트와 관련된 설정만 적용이 된다. 컨트롤러 테스트를 하는데 적합하다. 위 어노테이션들은 MockMVC를 제어하는 어노테이션이라고 한다. AutoConfigureMockMvc AutoConfigureMockMvc어노테이션을 통해서 생성된 MockMvc가 필드에 있는 MockMvc에 Autowired함으로써 주입이 된다. WebMvcTest 종종 단일 컨트롤러로 제한할 수 있고, MockBean을 통해서 필요한 c..
-
TIL 76일 - JWT 토큰 검증공부/Spring 사용한 프로젝트 2022. 3. 15. 21:48
jwt 토큰으로 인증하는 걸 해보자.... 참고글에 있는 코드랑은 조금 다르다. package com.example.ical.Infrastructure; import com.example.ical.Domain.User; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.io.Serializable; import java.util.Date; import java...
-
TIL 75일 - 로그인 시 jwt 반환공부/Spring 사용한 프로젝트 2022. 3. 14. 21:19
일단 build.gradle에 추가. implementation 'io.jsonwebtoken:jjwt:0.9.1' application.properties에 시크릿 키 추가 jwt.secret=yatyat2 해싱할 때 저 키를 기준으로 동작할 것임 jwt 토큰 생성해서 반환하기 일단 아래 참고글에 있는 코드를 그대로 사용했다. 다만 토큰 생성과 상관없는 부분은 삭제를 했고, 내일 다시 토큰을 사용해서 인증 하는 것을 해보려고 한다. 하나씩하나씩. package com.example.ical; import com.example.ical.Domain.User; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoke..
-
TIL 74일 - Filters공부/Spring 사용한 프로젝트 2022. 3. 13. 16:01
Filters spring-web 모듈은 몇몇 유용한 필터들을 제공한다. - form Data - Forwarded Headers - Shallow Etag - CORS Form Data 브라우저는 form 데이터를 오직 HTTP GET과 HTTP POST로만 submit할 수 있다. 그러나 브라우저가 아닌 클라이언트는 이 뿐만 아니라 HTTP PUT, PATCH, DELETE를 사용할 수 있다. 서블릿 API는 form 필드 access가 오직 HTTP POST를 지원하기 위해 ServeletRequest.getParameter*() 메서드를 요구한다. spring-web모듈은 HTTP PUT, PATCH, DELETE 요청을 해석하기 위해서 application/x-www-form-urlencoded..
-
TIL 73일 - 디스패쳐 서블릿공부/Spring 사용한 프로젝트 2022. 3. 12. 18:26
서블릿? 자바에서 동적 웹 페이지를 만들 때 사용하는 기술 디스패쳐 서블릿? 가장 앞단에서 HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러 참고글 https://coding-factory.tistory.com/742 [Web] 서블릿(Servlet)이란 무엇인가? 서블릿 총정리 서블릿(Servlet)이란? 서블릿이란 Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술입니다. 웹을 만들때는 다양한 요청(Request)과 응답(Response)이 있기 마련이고 이 coding-factory.tistory.com https://mangkyu.tistory.com/18 [Spring]Dispatcher-Servlet..
-
TIL 70일 - 로그인 실패 시 에러 메시지 보여주기...공부/Spring 사용한 프로젝트 2022. 3. 9. 14:38
ResponseEntity? HTTP 요청 또는 응답에 해당하는 HttpHeader와 HttpBody를 포함하는 클래스라고 한다. /* 그니께 대충 우리가 REST api로 요청의 결과로 받는 그 놈의 클래스인 거 같다. */ 아래 블로그에서 말한대로 Message클래스와 StatusEnum 만들고 해봤는데...(헤더는 안 만듦) https://devlog-wjdrbs96.tistory.com/182 [Spring Boot] ResponseEntity란 무엇인가? 먼저 REST API가 무엇인지는 아래 블로그를 먼저 잘 읽어보자. https://meetup.toast.com/posts/92 REST API 제대로 알고 사용하기 : TOAST Meetup REST API 제대로 알고 사용하기 meetup...
-
TIL 69일 - 로그인 API 만들기공부/Spring 사용한 프로젝트 2022. 3. 8. 22:46
true or false 반환하는 GET login API 일단 단계적으로 하기위해 true or false를 반환하는 GET login API를 만들려고 한다. 다른 컨트롤러, 레포지토리, WebSecurityConfg 수정 등은 너무 당연한거라 스킵 UserService 클래스에서는 아래처럼 코드를 수정했다. public Boolean loginUser(String email, String password) { User user = userRepository.findUserByEmail(email); Boolean isMatched = passwordEncoder.matches(password, user.getPassword()); return isMatched; } 요렇게 하니까 API 요청에 성공..