728x90

http 3

RestTemplate과 WebClient(feat. 서버 간 데이터 주고 받기)

RestTemplate과 WebClient 스프링 어플리케이션에서 HTTP 요청할 때 사용하는 방법으로 RestTemplate과 WebClient가 있다. 스프링 5.0 이전까지는 클라이언트에서 HTTP 접근을 위해 사용한 것은 RestTemplate 이었다. 스프링 5.0 에서 WebClient가 나왔고 현재는 WebClient를 사용하기를 권고하고 있다. 이번 팀 프로젝트를 진행하면서 RestTemplate을 도입하였었다. 하지만 RestTemplate이 deprecated 될 가능성이 있다는 얘기를 들었고 새로 시작하는 프로젝트에서는 WebClient를 쓰는 것이 좋겠다는 의견이 있어 WebClient를 적용해보게 되었다. 그럼 RestTemplate과 WebClient는 어떤 특징이 있으며 왜 W..

Spring 2022.12.02

HTTP의 Header, Body의 구조

HTTP 구조 HTTP 헤더와 본문으로 구성되어 있다. HTTP 본문에는 실제로 통신과정에서 주고 받을 컨텐츠가 담겨져 있다. HTTP헤더는 HTTP메시지(요청/응답)와 본문에 대한 정보를 말해주고 있다. 이에 대해서 이해하는 것이 실제로 중요하다. 해당 메시지가 제공하는 기능에 대한 최소한의 정보가 정리된 요약본이라고 할 수 있기 때문이다. 헤더에 그 프로토콜에 불필요한 내용을 담으면 네트워크로 전송되는 데이터의 크기가 커져서 빠른 전송이 불가능하기 때문에 프로토콜을 설계할 때부터 꼭 필요한 내용만 담아야 하고, 모든 기능이 표현되어야 한다. 이에 대해 HTTP 헤더는 크게 세가지로 구성되어 있다. 1) General Header 전송되는 컨텐츠에 대한 정보보다는, 요청/응답이 이루어지는 날짜 및 시간..

HTTP 2022.09.03

(스프링부트 Rest API) 다건 삭제 관련

Bulk delete 일반적으로 HTTP 메소드를 사용할 때 데이터 위치는 아래와 같습니다. GET, DELETE => header에 데이터 포함 POST, PUT => body에 데이터 포함 방법 1 첫 번째 방법은 구분자를 사용해서 path로 데이터를 넘기는 방법입니다. DELETE /resources/1;2;3;4 DELETE /resources/1+2+3+4 DELETE /resources/1,2,3,4 방법 2 두 번째 방법은 QueryString을 사용하는 방법입니다. DELETE /resources?id=1&id=2&id=3&id=4 방법 3 세 번째 방법은 POST나 PUT을 사용하는 방법입니다. 첫 번째, 두 번째 방법의 문제점은 길이의 제약이 있다는 점입니다. 브라우저마다 URL의 Ma..

Rest API 2022.08.30
728x90