当前位置: 首页 > 知识库问答 >
问题:

java - android 客户端接口请求过程如何简化?

太叔豪
2023-08-29

接口请求需要定义如下三层数据:

  1. 表单数据
  2. 请求数据
  3. 响应数据

问题是以下两个,请教各位大佬:

发起请求的时候需要把表单数据转换成请求数据,发起请求。这个过程能简化吗(我的http客户端是 OkHttp)?如果参数很多,多一层转换就会显得很繁琐!

响应数据如果参数命名不是驼峰法,因为客户端是java,要求类属性驼峰法命名,这个要如何解决?有类似 springboot jpa 中的 @Column(name = "username") 这样便捷的注解做映射吗?

共有1个答案

通宾白
2023-08-29

用数据模型:

public class RequestModel {    private String field1;    private int field2;    // getters and setters}

如果参数很多,你可以用构建者模式。

RequestModel model = new RequestModel.Builder()    .field1("value1")    .field2(42)    .build();

用库来处理:
Gson:

public class ResponseModel {    @SerializedName("field_name")    private String fieldName;    // getters and setters}

自动转:

ResponseModel responseModel = new Gson().fromJson(responseJson, ResponseModel.class);
 类似资料:
  • 我正在使用Spring WebClient检索福布斯全球2000强。它工作正常,但现在他们在试图访问https://www . Forbes . com/Forbes API/org/global 2000/2020/position/true . JSON上的JSON数据时添加了一个cookie同意模式。限制=2000 从技术上讲,这是我可以从Chrome看到的网络流: > 获取 https:/

  • 客户端的HTTP/HTTPS请求。 进程:主进程​ ClientRequest是由EventEmitter来实现Writable Stream​ new ClientRequest(options) 作用:发起新的HTTP/HTTPS请求 options(Object | String) - options是String时即请求URL。 options 是Object时则按以下属性请求: meth

  • 根据CloudFront的文档(https://docs.aws.amazon.com/amazoncloudfront/latest/developerguide/requestandresponseBehaviorCustomOrigin.html),客户端IP可以是头的前面、中间和结尾。 是Rignt吗?那我怎么才能得到真正的客户端IP呢?

  • 我使用Java.NET套接字创建了一个服务器,我尝试通过localhost客户端访问它,它正在接受请求并响应客户端,但当我尝试通过LAN电缆连接从另一台计算机远程访问它时,它不接受任何连接,即使它正在监听本地端口(9999),然后为了查看端口是否不工作,我将Apache Web Server配置为监听端口(9999),它确实工作,所以我将它设置为监听不同的端口,但没有运气,并尝试打开防火墙上的各种

  • httplib 库主要用来模拟客户端发送 HTTP 请求,类似于 Curl 工具,支持 JQuery 类似的链式操作。使用起来相当的方便;通过如下方式进行安装: go get github.com/astaxie/beego/httplib 如何使用 首先导入包 import ( "github.com/astaxie/beego/httplib" ) 然后初始化请求方法,返回对象 r

  • 当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信息头的一部分来传送的。您可以查阅HTTP协议来获得更多的信息。 下表列出了浏览器端信息头的一些重要内容,在以后的网络编程中将会经常见到这些信息: 信息 描述 Accept 指定浏览器或其他客户端可以处理的MIME类型。它的值通常为 image/png 或 image/jpeg Accept-Char