Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- Filter
- 복합키
- JPA주의사항
- Unsatisfied dependency
- Error creating bean with name
- git
- REST API 규칙
- JoinColumn
- 스프링 부트 공식 문서
- json gson 차이
- queryDSL
- jpa회원가입
- 스프링 부트 기능
- JPA
- 스프링부트오류
- Q 클래스
- 1차캐시
- Spring Spring boot 차이
- 빈생성안됨
- ERD 작성
- uncheck Exception
- jpa에러
- REST란
- jwt메서드
- json
- 최종 프로젝트
- 인텔리제이
- @IdClass
- github
- spring서버
Archives
- Today
- Total
Everyday Dev System
Body가 아닌 Header에 데이터 넣어서 요청하기 본문
RestTemplate 활용하기
restTemplate.getForEntity
restTemplate.postForEntity
restTemplate.exchange(requestEntity, String.class)
client project service 클래스 내에 추가.
public List<ItemDto> exchangeCall(String token) {
// 요청 URL 만들기
URI uri = UriComponentsBuilder
.fromUriString("http://localhost:7071")
.path("/api/server/exchange-call")
.encode()
.build()
.toUri();
log.info("uri = " + uri);
User user = new User("Robbie", "1234");
RequestEntity<User> requestEntity = RequestEntity
.post(uri)
.header("X-Authorization", token)
.body(user);
ResponseEntity<String> responseEntity = restTemplate.exchange(requestEntity, String.class);
return fromJSONtoItems(responseEntity.getBody());
}
@RequestHeader("Authorization") String token
해당 어노테이션을 활용해서 Authorization라는 key 값에 따른 value를 String token에 받아올 수 있다.
@GetMapping("/exchange-call")
public List<ItemDto> exchangeCall(@RequestHeader("Authorization") String token) {
return restTemplateService.exchangeCall(token);
}
.header("X-Authorization", token)
HTTP header에 X-Authorization 이라는 key값에 따른 token을 넣는다.
RequestEntity<User> requestEntity = RequestEntity
.post(uri)
.header("X-Authorization", token)
.body(user);
Server project에 controller에서도 @RequestHeader("X-Authorization") String token으로 받아올 수 있다.
@PostMapping("/exchange-call")
public ItemResponseDto exchangeCall(@RequestHeader("X-Authorization") String token, @RequestBody UserRequestDto requestDto) {
return itemService.exchangeCall(token, requestDto);
}
결과 :