개발자 준비/RestAPI8 restAPI 정확하게 설계하기(feat.그런 REST API로 괜찮은가) restAPI 정확하게 설계하기(feat.그런 REST API로 괜찮은가) 개요 사이트 프로젝트로 restAPI를 개발하면서 restAPI란 무엇인가에 대해 공부하다가 "그런 REST API로 괜찮은가" 라는 영상을 보게 되었다. 이 영상을 통해 내 restAPI도 REST를 만족하지 못하고있었구나 하고 깨닫게 되어 restAPI 정확하게 설계하기위해 위 영상을 정리하고자한다. REST API REST API → REST 아키텍처를 따르는 API REST → 분산 하이퍼미디어 시스템(ex. 웹)을 위한 아키텍처 스타일 아키텍처 스타일 → 제약 조건의 집합 즉, REST에서 정의한 제약 조건을 모두 지켜야 REST를 따른다고 말할 수 있다는 것이다. 사실 REST는 아키텍처 스타일이면서 하이브리드 아키텍처.. 2022. 2. 18. [restAPI] 응답 헤더 다루기 [restAPI] 응답 헤더 다루기 restAPI를 개발하다보면 클라이언트로부터 온 요청에대한 응답을 처리할때 HTTP body에 json 등의 데이터만 담아주는게 아니라 response HTTP header에 다양한 속성을 다뤄주거나 그 응답에 맞는 상태코드들도 함께 내려줘야한다. 상태 코드는 다음에 다루겠다. 오늘은 헤더 컨트롤만! Spring boot는 이런 기능을 손쉽게 할수있도록 여러 기능을 제공한다 ServletHttpResponse 같은건 서블릿이라고 할수도있겠다. Spring boot는 Spring의 기능을 더 간편화 한것이기때문에 Spring에서도 일치한다. 응답 HTTP 헤더를 설정하는 방법 단일 응답에 헤더를 설정하려면 HttpServletResponse 또는 ResponseEntit.. 2022. 1. 20. [RestAPI] CORS (Cross Origin Resource Sharing) 첫 프로젝트를 진행하다가 어느순간 마주친 이 CORS라는 녀석을 정리해보고자 한다. 웹 개발을 했다면 마주치게 된다는 유명한 이슈였다. (드디어 나도 이걸 보는구나..!!) CORS Cross-Origin Resource Sharing 로 교차 출처 리소스 공유라는 뜻이다. 한국말로 의미를 풀어보자면 다른 출처로부터 오는 리소스를 허용한다는 의미이다. 출처란? 알고있다 싶이 URI는 다양한 구성 요소로 리소스이 위치를 표시하고있다. 웹에서 출처란 Protocol + Host + Port 를 의미한다. 이 3가지 요소중에 하나라도 다르면 다른 출처로 간주한다는 것이다. 반대로 이 3가지 요소만 같으면 동일 출처로 간주한다는 것이다. SOP(Same-Origin Policy: 동일출처정책) 웹 생태계에서는 .. 2022. 1. 19. [RestAPI] ResponseEntity<T> 자세히 알아보기 (feat. 상태코드) [RestAPI] ResponseEntity 자세히 알아보기 (feat. 상태코드) 프로젝트로 restAPI를 개발하다보니 응답에 간단한경우 @ResponseBody를 쓰지만 HTTP header라던지 상태코드 제어 등 HTTP 스펙을 다뤄야하는 경우가 훨씬 많아 ResponseEntity를 쓰게 되는 경우가 훨씬 많다. 상태코드 차이 @ResponseBody의 경우 @ResponseStatus(HttpStatus.OK)로 따로 상태코드를 다뤄줘야 하는데 조건별로 응답 상태코드가 다른경우 번거롭다. @ResponseBody @ResponseStatus(HttpStatus.OK) //상태코드 지정 public MoveResponseDto move(@PathVariable String name, @Reque.. 2022. 1. 19. 이전 1 2 다음