Server/Spring REST API
-
[Spring] Spring에서 Swagger 사용하는 법Server/Spring REST API 2021. 4. 30. 17:24
Spring에서 Swagger 사용하는 법 Swagger는 간단한 설정으로 프로젝트에서 지정한 URL들을 HTML화면으로 확인할 수 있게 해주는 프로젝트입니다. 저 같은 경우는 기존에 Github wiki로 매번 API 명세서를 작성했습니다. 하지만 Swagger를 이용하면 간단한 설정 하나만 하면 API 문서를 자동으로 만들어주기 때문에 상당히 편리하게 이용할 수 있습니다. pom.xml io.springfox springfox-swagger2 2.9.2 io.springfox springfox-swagger-ui 2.9.2 build.gradle compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.5.0' compile gro..
-
[Spring Boot] 스프링 부트에서 비밀번호 암호화하기Server/Spring REST API 2020. 8. 27. 17:59
이번 글에서는 비밀번호 암호화 개념에 대해 정리하고 스프링부트를 이용해서 비밀번호 암호화를 하여 DB에 저장하는 방법에 대해 정리해보려 한다. 단방향 해시 함수 보통 비밀번호를 저장하는 방법은 2가지 정도가 있다. 단순 텍스트(plain text) 단방향 해시 함수(one-way hash function)의 다이제스트(digest) 단순텍스트로 패스워드를 저장하는 것은 범죄를 저지르는 것이나 다름없다. DB가 해킹당하는 순간, 비밀번호를 그대로 해커들에게 넘겨주게 되기 때문이다. 그러면 DB를 해킹당하지 않으면 되지 않나? 라고 할 수 있다. 물론 애초에 DB를 해킹당하지 않도록 보안에 신경써야 겠지만 해야겠지만, 다양한 변수의 상황들이 존재하기 때문에 언제든 해킹 당할 가능성이 존재한다. 따라서 해시함..
-
[Spring Boot] 스프링 부트에서 JWT 사용하기Server/Spring REST API 2020. 8. 24. 02:22
JWT란? [블로그 링크 예정] 스프링부트에서 로그인을 하였을 때 Access Token을 발급해주는 것과 사용자가 헤더에 토큰을 담아 보냈을 때 접근가능한 사용자인지 아닌지를 체크하는 예제를 진행해보려 한다. 먼저 스프링 프로젝트를 Maven으로 만든 후에 아래의 의존성과 설정을 추가해주자. pom.xml com.auth0 java-jwt 3.4.0 application.properties 내용 추가 # 토크 발급자 JWT.ISSUER=TEST # JWT 키 (여러 문자가 섞일수록 안전하다) JWT.SECRET=SeCrEtKeY4HaShInG ISSUER : 토큰 발급자 SECRET : 토큰 해쉬 키 값, 여러 문자가 섞일수록 안전하지만 암호화 시간이 오래걸린다.(노출하면 안되는 값이기 때문에 giti..
-
[Spring Boot] 클라이언트 REST API 응답보내기Server/Spring REST API 2020. 8. 18. 00:03
이번 글에서는 서버가 클라이언트에게 응답을 할 때 JSON 형태로 주는 것을 정리해보려 한다. 간단히 포스트맨으로 로그인 요청을 했을 때 로그인 성공, 실패의 응답을 주는 예제를 정리해보자. (HTTP 상태코드, 비밀번호 암호화, JWT에 대해서는 정리하지 않겠다.) HTTP 상태코드는 아래링크를 참고하자. https://developer.mozilla.org/ko/docs/Web/HTTP/Status 먼저 최근에 클라이언트에게 응답을 할 때는 아래와 같은 JSON 형태로 주는 것이 일반적이다. { "status": 200, "message": "로그인 성공", "data": { "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWRIjoib3..
-
[Spring Boot] ResponseEntity란 무엇인가?Server/Spring REST API 2020. 7. 30. 05:34
먼저 REST API가 무엇인지는 아래 블로그를 먼저 잘 읽어보자. https://meetup.toast.com/posts/92 REST API 제대로 알고 사용하기 : TOAST Meetup REST API 제대로 알고 사용하기 meetup.toast.com 1. ResponseEntity란? Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스가 존재한다. 이것은 HTTP 요청(Request) 또는 응답(Response)에 해당하는 HttpHeader와 HttpBody를 포함하는 클래스이다. public class HttpEntity { private final HttpHeaders headers; @Nullable private final T body; } public..