[Springboot] JPA 적용
2022. 8. 4. 15:50
개발
springboot 개발을 할 때 늘 mybatis를 사용하여 mapper.xml에 SQL쿼리를 작성해 database 로직을 구현했었다. 언제부턴가 JPA라는 말이 자주 들려오고 있는데, 이제야 테스트를 해본다. JPA(Java Persistence API)와 mybatis와 비교하자면 먼저 Mybatis 는 SQL자체로 xml 파일을 분리할 수 있으며, 복잡한 쿼리 작성의 장점이 있지만, 간단한 쿼리들을 많이 작성하여 코드가 길어지는 단점이 있다. JPA 는 CRUD 메소드가 이미 정의되어있어 sql을 직접 구현할 필요가 없기 때문에 소스코드의 양이 적어지는 점, 또 database 와 연결되어 table 생성을 자동으로 할 수도 있다. 하지만, 복잡한 쿼리의 사용은 JPQL 또는 Query dsl ..
[Springboot] CSRF Token 설정 시 Postman 테스트 방법(Spring Security)
2022. 8. 4. 10:25
개발
스프링 시큐리티는 POST, PUT, DELETE 등의 method를 요청할 때 이전 페이지에 발급된 CSRF토큰 정보를 체크하기 때문에 해당 정보를 header 로 넘겨주어야 처리가 된다. GET은 상관없음! 어쨋든 테스트 API 를 만들고 postman으로 요청을 해보았는데 자꾸 403 forbidden 에러가 떨어진다. 그래서 CSRF token 이 발급되는 설정을 하고, API를 요청할 때 'X-XSRF-TOKEN' 이라는 이름의 헤더이름으로 token을 넣어주면 된다. CSRF Token 발급 설정 @EnableWebSecurity @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter{ @Override p..