cuốn sách gpt4 ai đã làm

Tại sao các nhà phát triển đặt OkHttp thành Retrofit nếu Retrofit đã sử dụng OkHttp nội bộ

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 22:07:37 26 4
mua khóa gpt4 Nike

Tôi biết rằng Retrofit sử dụng OkHttp trong nội bộ. Tuy nhiên, tôi có thể thấy một số nhà phát triển cung cấp ứng dụng theo phương pháp sau

trả về Retrofit.Builder() mới
.baseUrl(BuildConfig.API_ENDPOINT)
.client(getClient()) // chúng ta có thể thêm ứng dụng khách OkHttpClient vào đó

Vì vậy, ai đó có thể làm rõ lý do tại sao điều này là cần thiết?

Tôi nghe nói điều này hữu ích cho việc thử nghiệm vì chúng tôi có thể áp dụng các trình chặn tùy chỉnh trong các yêu cầu HTTP được mô phỏng

câu trả lời hay nhất

Bản thân trang bị thêm có một phiên bản của OkHttp, nhưng không OkHttpClient Thực hiện bất kỳ tùy chỉnh nào. Trong nhiều trường hợp, bạn có thể cần tùy chỉnh ứng dụng khách của mình để tận dụng sức mạnh của OkHttp. xem bạn có thể làm gìtrong JavaDoc này .Bạn có thể thấy có rất nhiều điều bạn có thể làm, chẳng hạn như đặt thời gian chờ của riêng bạn, DNS của riêng bạn, bộ đệm tùy chỉnh của riêng bạn (sẽ hữu ích trong các ứng dụng chuyên sâu về đồ họa), proxy của riêng bạn, dựa trên thiết bị người dùng. các giao thức (một quốc gia có thể chặn HTTPS, vì vậy bạn muốn có thể quay lại HTTP càng nhanh càng tốt trong trường hợp đó), v.v.

EDIT: Trong hầu hết các trường hợp sử dụng, điều này có thể không cần thiết, chẳng hạn như trong các lệnh gọi API đơn giản tới điểm cuối API REST. Nhưng trong một số trường hợp, chẳng hạn như truyền phát video, dịch vụ VPN hoặc proxy hoặc bất kỳ tình huống nào yêu cầu bạn tùy chỉnh ứng dụng của mình dựa trên khu vực địa lý hoặc các kết nối mạng khác nhau, bạn có thể hưởng lợi từ nó. Các ví dụ khác mà tôi nghĩ đến là một số ứng dụng nhắn tin hoặc xã hội nhất định bị chặn ở một số quốc gia nhất định. Ngay cả những ứng dụng như Spotify hay YouTube. Khi người dùng kết nối qua WiFi, bạn muốn định tuyến họ đến máy chủ tốc độ cao của mình thông qua giao thức tốc độ cao (chẳng hạn như UDP). Tuy nhiên, nếu người dùng được kết nối qua 3G, bạn muốn định tuyến họ đến một máy chủ khác và sử dụng giao thức TCP để đảm bảo chất lượng.

Về Android - tại sao các nhà phát triển đặt OkHttp thành Retrofit nếu Retrofit đã sử dụng OkHttp nội bộ, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/45961109/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress