Spring Webflux 에서 사용할 수 있는 WebClient 라는 모던한 대체제가 있는 클라이언트입니다.
정의
- 동기 방식의 HTTP 클라이언트
- 웹 서비스 호출을 위한 메서드 제공
특징
- 동기성
- 동기적으로 동작함.
- API 호출을 하는 경우 해당 호출이 완료될 때까지 대기함.
- 다양한 HTTP 메서드
- GET , POST , PUT , DELETE 등의 HTTP 메서드를 위한 템플릿 메서드 제공
- 데이터 변환 가능
- JSON , XML 등의 여러 응답에 대응가능
기본 세팅
- Spring Bean 등록
@Configuration public class RestConfig { @Bean public RestTemplate restTemplate() { return new RestTemplate(); } }
- api 의 호출
@Controller @RequestMapping("/boards") public class BoardViewController { @Autowired private RestTemplate restTemplate; @GetMapping("/{boardId}") public String boardPage(@PathVariable Long boardId, Model model) { Board board = restTemplate.getForObject("http://api.example.com/boards/" + boardId, Board.class); model.addAttribute("board", board); return "boardPage"; } }
- 그외에도 getForEntity → ENTITY 형식 응답을 받아올수있음.
- exchange → List 형태의 데이터를 불러올수 있음.
Uploaded by N2T
'자바 > 리팩토링' 카테고리의 다른 글
[리팩토링]DTO 와 VO 분리 및 PERSISTENCE 생성 (0) | 2023.09.24 |
---|---|
[리팩토링] 쿠키 관리를 서버단에서 들고있다면.. (0) | 2023.09.24 |
[리팩토링] 현재 코드 상황 분석하기 (0) | 2023.09.21 |
[리팩토링] 예시 코드 일부를 분석해보기 (0) | 2023.09.21 |
[리팩토링] 리스트 조회에서 api 만 분리하기 (0) | 2023.09.21 |