2. Tiêu đề HTTP hoặc trường tiêu đề máy chủ chứa thông tin mà khách hàng có thể sử dụng để tìm hiểu thêm về phản hồi và máy chủ đã gửi phản hồi đó. Thông tin này có thể giúp máy khách hiển thị phản hồi cho người dùng, lưu trữ [hoặc bộ đệm] phản hồi để sử dụng trong tương lai và thực hiện các yêu cầu bổ sung cho máy chủ ngay bây giờ hoặc trong tương lai
Content-Type: application/json
Content-Length: 19
3. Phần thân của thông báo HTTP chứa tài nguyên mà máy khách yêu cầu từ máy chủ. Máy chủ không trả về nội dung thư cho HEAD
Thư viện Yêu cầu Python là gì?
Thư viện yêu cầu là Thư viện phổ biến nhất giúp gửi yêu cầu HTTP dễ dàng bằng các phương thức POST, GET và PUT, đăng dữ liệu JSON và XML, tải tệp lên và gửi biểu mẫu HTML. Thư viện tự động xác thực chứng chỉ SSL của máy chủ và hỗ trợ cookie phiên và Tên miền quốc tế. Thư viện yêu cầu được thiết lập trên thư viện urllib3 và ngụy trang sự phức tạp của việc tạo các yêu cầu HTTP đằng sau một API đơn giản. Thư viện yêu cầu không có trong bản phân phối Python, hầu hết mọi người đều sử dụng Thư viện yêu cầu vì mã Python để làm việc với HTTP trở nên đơn giản, ngắn gọn và dễ hiểu
Làm cách nào để sử dụng thư viện Yêu cầu Python?
Để cài đặt thư viện Yêu cầu Python, hãy chạy lệnh sau
Cài đặt thư viện yêu cầu Python
pip install requests
Sau khi cài đặt Thư viện yêu cầu, bạn có thể sử dụng nó trong công việc của mình
import requests
Xem thêm
- Làm cách nào để tôi nhận JSON bằng Yêu cầu Python?
- Làm cách nào để sử dụng các đối tượng phiên trong Yêu cầu Python?
- Làm cách nào để đặt thời gian chờ trong Yêu cầu Python?
- Làm cách nào để đăng JSON bằng Thư viện yêu cầu Python?
- Làm cách nào để gửi yêu cầu POST bằng Thư viện yêu cầu Python?
- Làm cách nào để gửi yêu cầu GET bằng Thư viện yêu cầu Python?
Phản hồi yêu cầu Python Các ví dụ và bài viết về API liên quan
Làm cách nào để chuyển đổi yêu cầu Curl sang Python? . bãi []?
Giống như cách bạn có thể chỉ định mô hình phản hồi, bạn cũng có thể khai báo mã trạng thái HTTP được sử dụng cho phản hồi với tham số
import requests
5 trong bất kỳ thao tác đường dẫn nào
6import requests
7import requests
8import requests
9import requests
- vân vân
from fastapi import FastAPI
app = FastAPI[]
@app.post["/items/", status_code=201]
async def create_item[name: str]:
return {"name": name}
Ghi chú
Lưu ý rằng
import requests
5 là một tham số của phương thức "decorator" [from fastapi import FastAPI
app = FastAPI[]
@app.post["/items/", status_code=201]
async def create_item[name: str]:
return {"name": name}
1, from fastapi import FastAPI
app = FastAPI[]
@app.post["/items/", status_code=201]
async def create_item[name: str]:
return {"name": name}
0, v.v.]. Không phải chức năng vận hành đường dẫn của bạn, giống như tất cả các tham số và nội dungTham số
import requests
5 nhận một số có mã trạng thái HTTPThông tin
Ngoài ra,
import requests
5 cũng có thể nhận được một from fastapi import FastAPI
app = FastAPI[]
@app.post["/items/", status_code=201]
async def create_item[name: str]:
return {"name": name}
3, chẳng hạn như from fastapi import FastAPI
app = FastAPI[]
@app.post["/items/", status_code=201]
async def create_item[name: str]:
return {"name": name}
4 của PythonNó sẽ
- Trả lại mã trạng thái đó trong phản hồi
- Tài liệu nó như vậy trong lược đồ OpenAPI [và do đó, trong giao diện người dùng]
Ghi chú
Một số mã phản hồi [xem phần tiếp theo] chỉ ra rằng phản hồi không có nội dung
FastAPI biết điều này và sẽ tạo tài liệu OpenAPI cho biết không có nội dung phản hồi
Giới thiệu về mã trạng thái HTTP¶
Ghi chú
Nếu bạn đã biết mã trạng thái HTTP là gì, hãy chuyển sang phần tiếp theo
Trong HTTP, bạn gửi mã trạng thái số gồm 3 chữ số như một phần của phản hồi
Các mã trạng thái này có một tên được liên kết để nhận ra chúng, nhưng phần quan trọng là số
Nói ngắn gọn
5 trở lên là dành cho "Thông tin". Bạn hiếm khi sử dụng chúng trực tiếp. Phản hồi với các mã trạng thái này không thể có phần thânfrom fastapi import FastAPI app = FastAPI[] @app.post["/items/", status_code=201] async def create_item[name: str]: return {"name": name}
6 trở lên dành cho phản hồi "Thành công". Đây là những thứ bạn sẽ sử dụng nhiều nhấtfrom fastapi import FastAPI app = FastAPI[] @app.post["/items/", status_code=201] async def create_item[name: str]: return {"name": name}
6 là mã trạng thái mặc định, có nghĩa là mọi thứ đều "OK"from fastapi import FastAPI app = FastAPI[] @app.post["/items/", status_code=201] async def create_item[name: str]: return {"name": name}
- Một ví dụ khác sẽ là
8, "Đã tạo". Nó thường được sử dụng sau khi tạo một bản ghi mới trong cơ sở dữ liệufrom fastapi import FastAPI app = FastAPI[] @app.post["/items/", status_code=201] async def create_item[name: str]: return {"name": name}
- Trường hợp đặc biệt là
9, "Không có nội dung". Phản hồi này được sử dụng khi không có nội dung để trả về máy khách và do đó phản hồi không được có phần thânfrom fastapi import FastAPI app = FastAPI[] @app.post["/items/", status_code=201] async def create_item[name: str]: return {"name": name}
20 trở lên là dành cho "Chuyển hướng". Phản hồi với các mã trạng thái này có thể có hoặc không có phần thân, ngoại trừpip install requests
21, "Không được sửa đổi", không được có phần thânpip install requests
22 trở lên dành cho phản hồi "Lỗi máy khách". Đây là loại thứ hai bạn có thể sẽ sử dụng nhiều nhấtpip install requests
- Một ví dụ là
23, cho phản hồi "Không tìm thấy"pip install requests
- Đối với các lỗi chung từ máy khách, bạn chỉ cần sử dụng
22pip install requests
- Một ví dụ là
25 trở lên là do lỗi máy chủ. Bạn hầu như không bao giờ sử dụng chúng trực tiếp. Khi xảy ra sự cố ở một số phần trong mã ứng dụng hoặc máy chủ của bạn, nó sẽ tự động trả về một trong các mã trạng thái nàypip install requests
Mẹo
Để biết thêm về từng mã trạng thái và mã nào dùng để làm gì, hãy xem tài liệu MDN về mã trạng thái HTTP
Phím tắt để nhớ tên¶
Hãy xem lại ví dụ trước
from fastapi import FastAPI
app = FastAPI[]
@app.post["/items/", status_code=201]
async def create_item[name: str]:
return {"name": name}
from fastapi import FastAPI
app = FastAPI[]
@app.post["/items/", status_code=201]
async def create_item[name: str]:
return {"name": name}
8 là mã trạng thái cho "Đã tạo"Nhưng bạn không cần phải ghi nhớ ý nghĩa của từng mã này
Bạn có thể sử dụng các biến tiện lợi từ
pip install requests
27pip install requests
2Chúng chỉ là một tiện ích, chúng giữ cùng một số, nhưng theo cách đó bạn có thể sử dụng tính năng tự động điền của trình chỉnh sửa để tìm thấy chúng
chi tiết kỹ thuật
Bạn cũng có thể sử dụng
pip install requests
28FastAPI cung cấp
pip install requests
29 giống như pip install requests
27 để thuận tiện cho bạn, nhà phát triển. Nhưng nó đến trực tiếp từ StarletteThay đổi mặc định¶
Sau này, trong Hướng dẫn sử dụng nâng cao, bạn sẽ thấy cách trả lại mã trạng thái khác với mã mặc định mà bạn đang khai báo tại đây