动态

详情 返回 返回

Jetbrains IDE http客户端使用教程 - 动态 详情

簡介

JetBrains IDE(如IntelliJ IDEA, WebStorm, PhpStorm和PyCharm)自帶一個內置的HTTP客户端,允許直接從IDE發送HTTP請求,而無需使用第三方工具,如Postman或cURL。

JetBrains IDE 中的 HTTP 客户端是什麼?

JetBrains IDE 中的HTTP客户端是一個輕量級但功能強大的功能,它允許開發人員直接從IDE中發送HTTP請求(GET, POST, PUT, DELETE等)。
它支持REST API測試、GraphQL請求、WebSocket通信和環境變量。

主要特點

  • .http.rest 文件中編寫並執行 HTTP 請求
  • 支持 REST API 請求(GET、POST、PUT、DELETE 等)
  • 支持 GraphQLWebSocket 請求
  • 允許設置自定義請求頭、請求參數和請求體
  • 支持身份驗證、文件上傳和環境變量
  • 保存請求歷史記錄以供調試

基本語法

### Comment (optional)
HTTP_METHOD URL [QUERY_PARAMS]
HEADER_1: VALUE
HEADER_2: VALUE
(Empty line)
BODY (optional)

示例用法

創建簡單的 GET 請求

### Fetch data from a public API
GET https://jsonplaceholder.typicode.com/posts/1
Accept: application/json
  • GET:查詢數據的 HTTP 方法
  • https://jsonplaceholder.typicode.com/posts/1:API 接口
  • Accept: application/json:可接受的響應類型

帶有 JSON 主體的 POST 請求

### Create a new post
POST https://jsonplaceholder.typicode.com/posts
Content-Type: application/json

{
  "title": "My New Post",
  "body": "This is the content of the post.",
  "userId": 1
}
  • POST:發送數據的 HTTP 方法
  • Content-Type: application/json:指定請求主體是 JSON
  • JSON body:發送到 API 的實際數據

PUT 請求(更新數據)

### Update a post
PUT https://jsonplaceholder.typicode.com/posts/1
Content-Type: application/json

{
  "id": 1,
  "title": "Updated Title",
  "body": "Updated content.",
  "userId": 1
}

DELETE 請求

### Delete a post
DELETE https://jsonplaceholder.typicode.com/posts/1

在 .http 文件中定義變量

可以在 .env 文件中或直接在 .http 請求文件中定義變量
### Use variables in the request
GET {{baseUrl}}/posts/1
Accept: application/json

> {%
    baseUrl = "https://jsonplaceholder.typicode.com"
%}
  • {{baseUrl}}:使用定義的變量而不是硬編碼 URL
  • {% %}:語法塊定義變量 baseUrl

使用環境變量

不需要直接在 .http 文件中定義變量,而是可以將變量存儲在單獨的文件中
  • 創建一個 .env 文件(例如,項目根目錄中的 http-client.env.json
  • 定義環境和變量
{
  "development": {
    "baseUrl": "https://jsonplaceholder.typicode.com",
    "authToken": "Bearer my-secret-token"
  },
  "production": {
    "baseUrl": "https://api.example.com",
    "authToken": "Bearer prod-secret-token"
  }
}
  • .http 請求中使用環境
### Fetch posts using environment variables
GET {{baseUrl}}/posts
Authorization: {{authToken}}
  • 切換環境:單擊 .http 文件右上角的環境下拉菜單,然後選擇開發或生產

使用 Bearer Token 身份驗證

GET https://api.example.com/protected-resource
Authorization: Bearer my-secret-token

使用基本身份驗證

GET https://api.example.com/private-data
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

發送表單數據

POST https://api.example.com/login
Content-Type: application/x-www-form-urlencoded

username=myUser&password=myPass

上傳文件

POST https://api.example.com/upload
Content-Type: multipart/form-data; boundary=boundary

--boundary
Content-Disposition: form-data; name="file"; filename="myfile.txt"
Content-Type: text/plain

< ./myfile.txt
--boundary--

使用 GraphQL 請求

### GraphQL query request
POST https://api.example.com/graphql
Content-Type: application/json

{
  "query": "query { user(id: 1) { id, name, email } }"
}

打開 WebSocket 連接

GET ws://echo.websocket.org

圖示

切換環境
請求示例

user avatar veronicaaa 头像 pipiimmortal 头像 biliangxianting 头像 shiluodexiaomaju 头像 ouysh1981 头像
点赞 5 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.