728x90
프론트에서 HTTP 통신할 때 HTTP header에 데이터 보내기
개별 요청 시
$.ajax({
url: 'foo/bar',
headers: { 'x-my-custom-header': 'some value' }
...
});
// 예제 코드 출처
// http://daplus.net/javascript-js-%EB%98%90%EB%8A%94-jquery%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-ajax-%EC%9A%94%EC%B2%AD%EC%97%90-%EC%82%AC%EC%9A%A9%EC%9E%90-%EC%A0%95%EC%9D%98-http-%ED%97%A4%EB%8D%94%EB%A5%BC/
headers 변수에 map형태의 객체로 기술하면, HTTP 헤더로 데이터를 보낼 수 있습니다.
모든 요청의 헤더에 추가
$.ajaxSetup({
headers: { 'x-my-custom-header': 'some value' }
...
});
// 예제 코드 출처
// http://daplus.net/javascript-js-%EB%98%90%EB%8A%94-jquery%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-ajax-%EC%9A%94%EC%B2%AD%EC%97%90-%EC%82%AC%EC%9A%A9%EC%9E%90-%EC%A0%95%EC%9D%98-http-%ED%97%A4%EB%8D%94%EB%A5%BC/
$.ajaxSetup(...) 메소드를 이용하면 모든 ajax에 header를 설정할 수 있습니다.
$.ajaxSetup({
beforeSend: function(xhr) {
xhr.setRequestHeader('x-my-custom-header', 'some value');
}
...
});
// 예제 코드 출처
// http://daplus.net/javascript-js-%EB%98%90%EB%8A%94-jquery%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-ajax-%EC%9A%94%EC%B2%AD%EC%97%90-%EC%82%AC%EC%9A%A9%EC%9E%90-%EC%A0%95%EC%9D%98-http-%ED%97%A4%EB%8D%94%EB%A5%BC/
beforeSend 후크를 사용하여 HTTP header를 설정할 수 있습니다.
또한, 개별 통신 시 $.ajax(...) 에도 beforeSend 후크를 사용해서 HTTP header를 설정할 수 있습니다.
스프링 부트에서 요청헤더 받기
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(
@RequestHeader(value="Accept") String accept,
@RequestHeader(value="Accept-Language") String acceptLanguage,
@RequestHeader(value="User-Agent", defaultValue="myBrowser") String userAgent,
@RequestHeader(value="Host") String host
) {
System.out.println("Accept: " + accept);
System.out.println("Accept-Language: " + acceptLanguage);
System.out.println("User-Agent: " + userAgent);
System.out.println("Host: " + host);
return "home";
}
}
// 예저 코드 출처
// http://ojc.asia/bbs/board.php?bo_table=LecSpring&wr_id=446
@RequestHeader 어노테이션을 사용해서 HTTP header 데이터를 받을 수 있습니다.
value 속성에 헤더 데이터의 key 값을 기술하면 됩니다.
http://ojc.asia/bbs/board.php?bo_table=LecSpring&wr_id=446
728x90
'Java' 카테고리의 다른 글
Java - JUnit과 Mock (0) | 2021.09.27 |
---|---|
Java - ObjectMapper의 JsonNode, ObjectNode, ArrayNode (0) | 2021.09.07 |
java - ObjectMapper (0) | 2021.08.29 |
java - PUT API (0) | 2021.08.26 |
java - POST API (0) | 2021.08.26 |
댓글