概念:在进行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包

org.springframework.boot

spring-boot-starter-parent

2.0.1.RELEASE

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-devtools

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地址。

http请求pom 客户端_RPC之HttpClient与OkHttp3的实现,服务端知识点相关推荐

  1. 微信群控的服务器怎么用,微信群控开发SDK使用教程--手机客户端返回聊天消息的原始内容给服务端...

    微信群控开发SDK使用教程--手机客户端返回聊天消息的原始内容给服务端 case RequestTalkContentTaskResultNotice: {// 返回聊天消息的原始内容 log.deb ...

  2. Unity【Multiplayer 多人在线】- Socket 通用客户端网络模块(一)、Connect 连接服务端

    介绍 在阅读了罗培羽著作的Unity3D网络游戏实战一书后,博主综合自己的开发经验与考虑进行部分修改和调整,将通用的客户端网络模块和通用的服务端框架进行提取,形成专栏,介绍Socket网络编程,希望对 ...

  3. 前端跨域请求get_前端接收 get 请求,用jsonp 解决跨域问题, 需要服务端的response 也要jsonp 类型...

    1. 解决跨域必须在ajax 方法中dataType 设置为jsonp 2. 此时服务端返回的就必须是jsonp 类型的,而不是json 类型的 3. 客户端js 代码中ajax 方法还要设置json ...

  4. python实现客户端之间的通信_基于Python的服务端多线程与多客户端的通信过程

    实现server服务端多线程程序,可以开启多个客户端,每个客户端都能实现向服务端发送数据的过程,可以设置最大监听客户端数. 服务端使用命令: python server.py 520 进行开启 其中s ...

  5. 客户端请求时间和服务端处理时间不匹配问题

    现象: 客户端日志,调一个接口耗时为2-3s 服务端日志,处理一个请求耗时只有100-200ms 问题: 这明显速度不匹配, 理论上差不了太多才对 分析原因: 可能是服务端处理不过来,虽然一个请求服务 ...

  6. java的oauth2.0_[转]Java的oauth2.0 服务端与客户端的实现

    oauth原理简述 oauth本身不是技术,而是一项资源授权协议,重点是协议!Apache基金会提供了针对Java的oauth封装.我们做Java web项目想要实现oauth协议进行资源授权访问,直 ...

  7. Java的oauth2.0 服务端与客户端的实现

    oauth原理简述 oauth本身不是技术,而是一项资源授权协议,重点是协议!Apache基金会提供了针对Java的oauth封装.我们做Java web项目想要实现oauth协议进行资源授权访问,直 ...

  8. c++socket多个客户端通过不同端口与一个服务端通信_手写RPC,深入底层理解整个RPC通信...

    一.前言 RPC,远程过程调用,调用远程方法像调用本地方法一样.RPC交互分为客户端和服务端,客户端调用服务端方法,服务端接收数据并打印到控制台,并response响应给客户端. RPC和HTTP的联 ...

  9. RPC 笔记(03)— gRPC 概念、安装、编译、客户端和服务端示例

    1. gRPC 概念 gRPC 是 Google 开源的一款高性能的 RPC 框架.GitHub 上介绍如下: gRPC is a modern, open source, high-performa ...

最新文章

  1. C# 中的委托和事件(转载)
  2. Delphi 2009 超前预知!
  3. 普通卷积armv7-neon指令集实现—XNNPACK
  4. go channel 缓冲区最大限制_Go语言11周年,泛型问题有望明年得到解决
  5. 教育资源数字化 计算机和通讯,《计算机网络技术课程数字化资源开发研究》.doc...
  6. idea 配置java版本号_IDEA-Maven项目的jdk版本设置方法
  7. Docker封装Java环境镜像(Alpine+OpenJDK)
  8. 项目部署:服务器IIS发布后本地浏览没有问题,外网访问显示无法访问
  9. android sdk下载慢的解决方法
  10. MP算法与OMP算法
  11. 流行的灯谜集锦(包括天鹅类)
  12. redies 学习笔记
  13. 谷歌或Edge浏览器在开始菜单页面不显示图标
  14. linux拼音五笔输入法下载软件,自已动手制作Linux下拼音五笔输入法
  15. css中子元素设置margin-top会影响到父元素
  16. 死亡时间推断MATLAB,AGU 本周精选文章:火星陨石坑;气候敏感性;水资源压力;洪水灾害建模...
  17. UE4_虚幻引擎4多人联机基础知识和客户端服务器通信机制详解
  18. 实现微信公众号评论回复功能
  19. Linux系统地址栏,Linux下Chrome地址栏输入卡顿该怎么办?
  20. vi vim 快速跳到文件末尾 GA 在最后一行下方新增一行 (光标换行,文字不换行) GO

热门文章

  1. CentOS 7下mysqld服务启动失败终极解决方案
  2. tomcat端口被占用问题完美解决方案!
  3. 撤消git update-index --assume-unchanged file
  4. SLAM无人车通过上摄像头扫描二维码重定位
  5. Activity生命周期Android,横屏切换不重新创建Activity, Activity的四种launchMode
  6. (配置消息转换器)解决后台返回json数据到前台时页面时中文显示乱码问题
  7. spring Bean的初始化和销毁 (使用注解)
  8. html表示主题内容的标签是,HTML 基本标签
  9. bo dto java vo_Java 键对象 KO (key object) 介绍
  10. 阿里巴巴的页面不能被抓取吗_符合百度抓取的高质量内容(72小时秒收录)