网站首页 > 教程分享 正文
概念:
在进行HttpClient和OkHttp的学习之前,我们得先了解下RPC这个概念。所谓的RPC,英文全称为Remote ProcedureCall,翻译成中文的意思是远程过程调用,它是一种通过网络从远程计算机程序上请求服务获取数据的一种协议。说的更直白点就是要实现不同服务器之间的服务调用。而随着分布式系统的普及,RPC在现在的系统开发中起着非常重用的作用。
此次我们将要学习的HttpClient和OkHttp都可以实现RPC远程服务调用。HttpClient是Apache Jakarta Common 下的子项目。它是一种基于HTTP协议的客户端编程工具包,而OkHttp是一种适用于Android和Java应用程序的HTTP客户端。从概念上来看,两者都是基于HTTP协议的客户端程序,也都能实现远程服务请求的调用,所以接下来,我们通过案例对HttpClient与OkHttp3做一个详细的学习。
服务端
需求分析
在正式学习HttpClient和OkHttp之前,我们需要先搭建服务器对外提供服务,业务非常简单:
- 实现用户列表的查询实现根据用户ID查询用户详情信息实现用户的新增
为了方便环境的构建吗,此次我采用SprongBoot对项目进行构建,当然你也可以选中你自己比较熟悉的技术来搭建环境,完成上述需求的开发工作。接下来我们就把整个环境搭建的步骤来实现下。
环境搭建
1.创建springboot项目
2. pom.xml导入对应的依jar包
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> </dependencie
3.编写引导类
BootApplication public class ServerApplication { public static void main(String[] args) { SpringApplication.run(ServerApplication.class,args); } }
4.编写模型类
public class User { private Integer id; private String name; private String password; //构造函数和setter、getter方法 }
5.编写Controller类
7.编写service接口类
8.编写service实现类
功能测试
可以借助于浏览器或者postMan等工具进行测试,此处不是我们研究的重点,所以该处需要自行测试用过即可,经过测试我们可以获取一些URL地址。
猜你喜欢
- 2024-10-20 java 实现利用 RabbitMQ 发送和消费消息
- 2024-10-20 手把手讲解-OkHttp硬核知识点(2)(okhttp原理详解)
- 2024-10-20 XXL-JOB核心源码解读及时间轮原理剖析
- 2024-10-20 高并发场景下的 HttpClient 优化方案,QPS 大大提升!
- 2024-10-20 原来java结合docker这么简单!快来看看命令大全以及java结合使用
- 2024-10-20 Flink 实时计算 - 用户如何使用自定义 Jar 包
- 2024-10-20 分库分表实现方式Client和Proxy,性能和维护性该怎么选?
- 2024-10-20 K8S官方java客户端之三:外部应用(k8s官方java客户端之三:外部应用手册)
- 2024-10-20 在用httpclient发送post报文请求错误解决
- 2024-10-20 基于zabbix4.0监控tomcat服务及JVM内存
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)