gpt4 book ai didi

java - 当我们有 OkHttp 时为什么要使用 Retrofit

转载 作者:IT老高 更新时间:2023-10-28 11:42:50 29 4
gpt4 key购买 nike

使用 OkHttp 我们可以发出 HTTP 请求然后从服务器获取响应:

OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(url)
.build();
Response response = client.newCall(request).execute();

然后使用 Gson lib 将响应转换为我们需要的对象。

这是来自 Square/OkHttp 文档:

Its request/response API is designed with fluent builders andimmutability. It supports both synchronous blocking calls and asynccalls with callbacks

我从 Stackoverflow 阅读:

Retrofit uses OkHTTP automatically if available.

所以我的问题是:

  1. Retrofit 究竟是为了什么?
  2. OkHttp 不能做到的 Retrofit 有哪些?

我认为 OkHttp 和 Gson 解决了请求 API 问题,但是改造能为我们解决什么问题呢?

最佳答案

with OkHttp we can make HTTP request then get response from server... then with Gson lib convert response to object we need

请注意,在您的代码 fragment 中,您跳过了两个值得注意的步骤:生成 URL 和使用 Gson 实际解析 JSON。

So my question is what is exactly Retrofit for?

它用于生成 URL(使用与特定 REST API 相关联的类型感知生成代码)并使用 Gson 实际解析 JSON。换句话说,它会执行您在代码 fragment 中跳过的内容。

此外,对于某些类型的 REST 操作(例如,POST),它有助于组装要提交的内容(例如,生成编码表单)。

根据定义,您不需要使用 Retrofit。改造是计算机代码,由计算机程序员编写。其他人可以编写代码来做 Retrofit 所做的事情。

why Retrofit use OkHttp

Retrofit 需要执行 HTTP 操作。它在可用的情况下使用 OkHttp,因为 OkHttp 提供的所有内容:HTTP/2 和 SPDY 支持、可插入拦截器等。

关于java - 当我们有 OkHttp 时为什么要使用 Retrofit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39183294/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com