본문 바로가기
반응형

분류 전체보기338

HTTP 상태 코드 상태 코드 : 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx (Informational): 요청이 수신되어 처리중 (거의 사용하지 않는다) 2xx (Successful): 요청 정상 처리 3xx (Redirection): 요청 완료하려면 추가 행동 필요 4xx (Client Error): 클라이언트 오류. 잘못된 문법 등으로 서버가 요청을 수행할 수 x 5xx (Server Error): 서버 오류. 서버가 정상 요청을 처리 못함 2xx 200 OK 201 Created - 요청 성공해서 새로운 리소스가 생성됨 202 Accepted - 요청 접수 되었으나 처리는 x 204 No Content - 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터 x 3xx 30.. 2021. 2. 1.
HTTP 메소드와 API 설계 API URI 설계 가장 중요한 것은 리소스를 식별하는 것 리소스와 행위 분리. ( ex: 리소스: 회원, 행위: 조회, 등록, 삭제 ) ex: POST /orders/{orderId}/start-delivery (컨트롤 URI) HTTP 메소드 GET: 리소스 조회 POST: 요청 데이터 처리 (주로 등록에 사용) PUT: 리소스 덮어쓰기 (있으면 대체, 없으면 생성) PATCH: 리소스 부분 변경 DELETE: 리소스 삭제 HEAD, OPTIONS, CONNECT, TRACE, ... HTTP 메소드 속성 안전; Safe Method 멱등; Idempotent Methods 캐시 가능; Cachable Methods 안전 호출해도 리소스 변경 X ex: GET, HEAD, OPTIONS, TRACE .. 2021. 2. 1.
[Spring] Interceptor 인터셉터 인터셉터는 말 그대로 중간에서 가로채는 일을 한다. 컨트롤러에 들어오는 요청 HttpRequest와 컨트롤러가 응답하는 HttpResponse를 가로챈다. Filter와 차이점 JSP의 Filter와 유사한 동작을 한다. 둘 다 Controller로 들어가는 요청을 가로채 특정 작업을 하기 위한 용도로 사용되지만, 여러 차이점이 있다. Filter Interceptor 접근 범위 같은 웹 어플리케이션 스프링 내의 모든 객체 호출 시점 DispatcherServlet 실행 전 DispatcherServlet 실행 후 설정 위치 web.xml spring-servlet.xml 구현 방식 web.xml 설정 spring-servlet.xml 설정 및 메소드 구현 제공 J2EE 표준 스펙 Spring .. 2021. 1. 29.
Web Server와 WAS 차이부터 연동 방법까지 AJP에 관해서 알아보면서 삽질하다보니 웹서버, 와스까지 흘러들어왔다. 찾아보는 김에 개념을 정리해둔다. 서버의 흐름하면 보통 위 그림과 비슷한 형식으로 그려져있다. 사용자는 80번 포트를 통해 웹서버(Apache)에 요청을 보내고, 만약, 서블릿이 필요한 요청이라면 웹서버(Apache)가 WAS(tomcat)에 요청을 보낸다. 웹 서버와 WAS의 차이 Web Server 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고 html 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램 정적 컨텐츠(html, css, javascript, image, ...)를 제공하는 서버 ex: Apache, NGINX, ... WAS; Web Application Server 인터넷 상에서 HTTP 프로토콜을 통해 .. 2021. 1. 28.
[java] this와 this() this : 인스턴스 자신을 가리키는 참조 변수 - 객체의 주소를 가리킨다 this() : 클래스 내부의 생성자를 호출 - 생성자에서만 호출 가능 - 제일 첫 문장에서 호출 가능 - 생성자 자기 자신 호출 불가 (재귀호출 불가) 예제 public class User { private Integer id; protected String account; public String password; public User(Integer id, String account, String password) { this.id = id; this.account = account; this.password = password; } public User(Integer id) { this(id, "a", "b"); } } 참조.. 2021. 1. 26.
[AWS RDS] db 환경 만들기 RDS 생성 구글 콘솔( aws.amazon.com/ko/ )에서 RDS를 들어가자. 데이터베이스 생성 버튼을 클릭한 뒤, 데이터베이스 생성 옵션은 아래 이미지를 따른다. (붉은색: 기입 값 필수 및 동일하게, 파란색: 기입 값 필수 및 설정 자유) MariaDB를 사용한 이유는 1. Oracle, MSSQL 등은 동일한 사양 대비 가격이 높다 2. Amazon Aurora로 교체하기 용이하다. Amazon Aurora는 MySQL과 PstgreSQL을 클라우드 기반에 맞게 재구성한 DB다. 클라우드 서비스에서 가장 적합한 데이터베이스이기 때문에 많은 회사가 사용한다. 여기서 선택하지 않는 이유는 프리티어 대상이 아니고 최소 비용이 월 10만원이라 MariaDB를 택했다. 모든 옵션을 설정하고 데이터베이.. 2021. 1. 25.
[AWS EC2] 서버 환경 만들기 AWS에 가입이 되어있다는 가정 하에 진행한다. https://aws.amazon.com/ko/에서 로그인한 뒤, 본격적으로 서버를 생성해보자. 인스턴스 생성하기 콘솔로 들어가서 지역을 서울로 바꿔준 뒤, EC2를 생성한다. (EC2: AWS에서 제공하는 성능, 용량 등을 유동적으로 사용할 수 있는 서버) t2: 요금 타입, micro: 사양 3. 인스턴스 구성, 4. 스토리지 추가는 필수로 적어둘게 없어서 생략한다. (자유롭게 설정하면 된다. 단, 무료 버전 사용 시 4에서 스토리지는 최대 30GB까지) 웹 콘솔에서 표기될 태그인 Name 태그를 등록했다. 태그는 해당 인스턴스를 표현하는 여러 이름으로 사용될 수 있으며 EC2의 이름을 붙인다고 생각하면 된다. SSH + 22 port - AWS EC2.. 2021. 1. 22.
[Spring Security] 기존 테스트에 시큐리티 적용하기 테스트 코드를 작성했을 때는 API를 바로 호출해서 만들었다. 하지만 시큐리티 옵션이 활성화되면서 인증된 사람만 API를 호출할 수 있게 되어 테슽트 코드마다 인증한 사용자가 호출한 것처럼 작동하도록 수정해야 한다. 일단 전체 테스트를 한 번 돌려보자 문제1 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'securityConfig' defined in file [..\SecurityConfig.class] :Unsatisfied dependency expressed through constructor parameter 0; org.springframework.beans.facto.. 2021. 1. 22.
[OAuth 2] 네이버 로그인 연동하기 네이버 API 등록 developers.naver.com/apps/#/register?api=nvlogin 접속 등록 후에는 Client ID와 Client Secret을 확인할 수 있다. 해당 키 값을 application-oauth.properties에 등록한다. 네이버에서는 스프링 시큐리티를 공식 지원하지 않기 때문에 전부 수동으로 입력해야 한다. #registration spring.security.oauth2.client.registration.naver.client-id=클라이언트아이디 spring.security.oauth2.client.registration.naver.client-secret=클라이언트시크릿 spring.security.oauth2.client.registration.na.. 2021. 1. 21.
반응형