HTTPie docs의 custom header 설정 방식에 대한 설명과 예시만 보았을 때에는, Header:Value를 실제 커맨드 상에 어떻게 배치할 것인가에 대한 고민이 생긴다.

이거만 봐서는 어떻게 요청을 날려야 할지 막막하다. / 출처 : https://httpie.io/docs/cli/http-headers

 

JWT를 header에 추가하기 위해 직접 시행착오를 겪은 결과, 아래와 같이 공식(?)을 정리할 수 있었다.

http HTTP_METHOD url (Request body) Header:Value

 

HTTP_METHOD 자리에는 GET, POST 등 http method를, url에는 원하는 url을 그대로 적으면 된다.

단, 커맨드 작성 시 띄어쓰기 오류가 있는 경우에도 정상적으로 작동하지 않는다.

Header: Value 와 같이 작성하여도 오류가 나므로 반드시 Header:Value 의 형태로 붙여 쓰도록 하자.

 

올바른 작성 예시

# Request body X
http GET localhost:8080/my-application/user/list Authorization:token

# Request body O
http POST localhost:8080/my-application/user/login email="email" name="name" Authorization:token

 

별 것 아닌 내용일 수 있지만.. 누군가의 고민을 덜어줄 수 있는 글이었길 바라며.

Spring Security에서 사용하는 Principal 객체에 필요한 정보를 넣어둔 뒤,

Thymeleaf를 사용하여 html 페이지에서 불러오는 방식을

실제 활용 예시를 기반으로 일부 정리하였음.

 

1. 일반 Text로 태그 내부에 삽입하기

(주의 : 이미 sec:authorize="isAuthenticated()" 등을 통해 인증된 회원에게만 보여지도록 선언된 태그여야 함)

<span class="text-muted d-block mb-2" sec:authentication="principal.email"></span>

 

결과 ↓

Principal 객체에 저장된 email 값이 출력됨

 

2. 태그 내부에서 값을 사용하기

(주의 : 역시 sec:authorize="isAuthenticated()" 등을 통해 인증된 회원에게만 보여지도록 선언된 태그여야 함)

<img th:src="${#authentication.principal.userImage}" class="avatar sm rounded-circle me-1">

 

Principal 객체에 저장된 userImage 변수는 유저별 프로필 사진의 경로를 담고 있으며, 해당 변수의 값을 source로 사용하여 img 태그를 출력할 수 있음.

+ Recent posts