본문 바로가기
Java

java - RequestHeader

by sinabeuro 2021. 8. 31.
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://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/

 

[javascript] js 또는 jQuery를 사용하여 Ajax 요청에 사용자 정의 HTTP 헤더를 추가하려면 어떻게해야합

누구나 JavaScript 또는 jQuery를 사용하여 사용자 정의 HTTP 헤더를 추가하거나 작성하는 방법을 알고 있습니까? 답변 필요한 것에 따라 몇 가지 솔루션이 있습니다 … 당신이 원하는 경우 개별 요청

daplus.net

 

http://ojc.asia/bbs/board.php?bo_table=LecSpring&wr_id=446 

 

스프링에서 요청헤더 받기(@RequestHeader Annotation, Spring Framework @MVC)

스프링에서 요청헤더 받기(@RequestHeader Annotation, Spring Framework @MVC)@RequestHeader Annotation은 HTTP 요청 헤더 값을 컨트롤러 메서드의 파라미터로 전달한다(메서드 파라미터가 String가 아니라면 타입변환

ojc.asia

 

 

 

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

댓글