====== IntelliJ IDEA .HTTP ======
* [[:intellij_idea|IntelliJ IDEA]] HTTP Client - [[mailto:marketplace@jetbrains.com|HTTP Client - IntelliJ IDEs Plugin]]
* [[https://www.jetbrains.com/help/idea/testing-restful-web-services.html|Testing RESTful Web Services - Help | IntelliJ IDEA]]
* [[https://www.jetbrains.com/help/idea/http-client-in-product-code-editor.html|HTTP Client in IntelliJ IDEA Code Editor - Help | IntelliJ IDEA]]
* [[http://jojoldu.tistory.com/266|IntelliJ의 .http를 사용해 Postman 대체하기]]
* ''프로젝트폴더/.idea/httpRequests/'' 에 로그 남음
* **Tools -> HTTP Client -> Test RESTFul Web Service** Rest Client 를 사용하여 테스트하는 것도 가능
* [[https://blog.jetbrains.com/idea/2022/12/http-client-cli-run-requests-and-tests-on-ci/|명령행 http-client cli]]
===== Profile 지정 =====
* 프로필별 대체 정보를 json 으로 만들어 두면 ''%%{{host}}%%'' 등으로 지정한 값이 프로필에 설정한 값으로 변경된다.
* ''http-client.env.json'' : 전체 공개 내용.
{
"development": {
"host": "localhost",
"id-value": 12345,
"username": "",
"password": "",
"my-var": "my-dev-value"
},
"production": {
"host": "example.com",
"id-value": 6789,
"username": "",
"password": "",
"my-var": "my-prod-value"
}
}
* ''http-client.private.env.json'' : 개인별 설정. 비밀번호 등을 저장. ''.gitignore'' 등을 통해 저장소 공유는 막아야한다.
{
"development": {
"username": "dev-user",
"password": "dev-password"
},
"production": {
"username": "user",
"password": "password"
}
}
* ''.http'' 파일 형식
GET http://{{host}}/api/json/get?id={{id-value}}&key={{unresolved_var}}
Authorization: Basic {{username}} {{password}}
Content-Type: application/json
{
"key": {{my-var}}
}
===== 로컬 파일 전송 =====
POST http://localhost:8080/group
Content-Type: application/json
< ./post.json
===== Header 지정 =====
GET http://localhost:8080/dev/hello
Authorization: DEV
===== 결과 재사용 / 저장 =====
* HTTP Client 실행 결과를 저장하고 재사용할 수 있다.
* [[https://www.jetbrains.com/help/idea/http-response-handling-examples.html|Response handling examples | IntelliJ IDEA]] 참조
POST https://httpbin.org/post
Content-Type: application/json
{
"token": "my-secret-token"
}
// "auth_token"이라는 변수로 값을 저장.
> {%
client.global.set("auth_token", response.body.json.token);
%}
저장된 값을 사용하려면,
GET https://httpbin.org/headers
Authorization: Bearer {{auth_token}}
*
===== Spring Web MVC Controller 실행 =====
* [[springframework:springboot:actuator|Spring Boot Actuator]] 를 추가한 상태에서 애플리케이션을 실행하고 나면,
* 컨트롤러 메소드의 컨텍스트 메뉴에 **Run HTTP Request** 가 생겨서 요청을 테스트해 볼 수 있게 된다.