15 年 2025 个 REST API 面试问题及答案
面向应届毕业生的 Rest API 面试问题和答案
1)解释什么是REST和RESTFUL?
REST 代表表述性状态转移 (REpresentational State Transfer);它是编写 Web API 的一个相对较新的方面。
RESTFUL 指的是应用 REST 架构概念编写的 Web 服务,称为 RESTful 服务,它专注于系统资源以及如何通过 HTTP 协议将资源状态传输到用不同语言编写的不同客户端。在 RESTFUL Web 服务中,可以使用 GET、POST、PUT 和 DELETE 等 HTTP 方法执行 CRUD 操作。
👉 免费 PDF 下载:Rest API 面试问题与答案 >>
2)解释创建 Web API 的架构风格?
创建 Web API 的架构风格如下
- HTTP 用于客户端服务器通信
- XML/JSON 作为格式化语言
- 简单 URI 作为服务的地址
- 无状态通信
3)请提及测试您的 Web API 需要哪些工具?
用于 SOAP WS 的 SOAPUI 工具和 Firefox “poster”插件 RESTFUL 服务.
4)请提及 REST 支持哪些 HTTP 方法?
REST 支持的 HTTP 方法有:
- 得到: 它在请求 URL 处请求资源。它不应包含请求主体,因为它将被丢弃。也许它可以缓存在本地或服务器上。
- POST: 它将信息提交给服务进行处理;它通常应该返回修改后的或新的资源
- PUT: 在请求 URL 处更新资源
- 删除: 在请求 URL 处,它会删除资源
- 选项: 它表明支持哪些技术
- HEAD: 关于请求 URL,它返回元信息
我们先从单条记录的角度来看一下。假设有一条员工记录,其员工编号为 1。
以下行动有其各自的含义。
- 解决方案&帖子– 这不适用,因为我们正在获取已创建的员工 1 的数据。
- 的GET– 这将用于使用 RESTful Web 服务获取员工编号为 1 的员工的详细信息
- PUT– 这将用于使用 RESTful Web 服务更新员工编号为 1 的员工的详细信息
- 删除 – 用于删除员工编号为 1 的员工的详细信息
5)请提及是否可以使用 GET 请求而不是 PUT 来创建资源?
不可以,您不能将 PUT 用于 GET。GET 操作只应具有查看权限,而 PUT 资源用于更新数据。
6)请提及 REST 架构中的资源是什么?
资源由逻辑 URL 标识;它是 RESTful 设计的关键元素。与 REST 中的 SOAP Web 服务不同,您将产品数据视为资源,并且此资源应包含所有必需的信息。
经验丰富的 Rest API 面试问题和答案
7)请说出 AJAX 和 REST 之间的区别?
AJAX的 | REST的 |
---|---|
在 Ajax 中,请求通过使用 XMLHttpRequest 对象发送到服务器。响应由 Java脚本代码动态改变当前页面。 | REST 具有 URL 结构和围绕资源使用的请求/响应模式。 |
Ajax 是一套技术;它是一种无需重新加载页面即可动态更新 UI 部分的技术。 | REST 是一种软件架构,也是用户向服务器请求数据或信息的方法。 |
Ajax异步地消除了客户端和服务器之间的交互。 | REST 需要客户端和服务器之间的交互。 |
8)提及 REST 的一些主要特征?
REST 的一些主要特征包括
- REST 是无状态的,因此服务器没有状态(或会话数据)
- 通过良好应用的 REST API,服务器可以在两次调用之间重新启动,因为每个数据都会传递到服务器
- Web 服务主要使用 POST 方法进行操作,而 REST 使用 GET 访问资源
9)请提及有哪些不同的应用程序集成风格?
不同的集成风格包括
- 共享数据库
- 批量文件传输
- 调用远程过程 (RPC)
- 通过面向消息的中间件 (MOM) 交换异步消息
10)解释 JAXB 与 RESTful web API 有何关系?
JAXB 代表 XML 绑定的 java arch。
11)请说明PUT和POST之间的区别?
“PUT” 将文件或资源放置在特定 URI 上,并且精确地放置在该 URI 上。如果该 URI 上已有文件或资源,则 PUT 会更改该文件或资源。如果该 URI 上没有资源或文件,则 PUT 会创建一个
POST 将数据发送到特定 URI,并期望该 URI 上的资源处理该请求。此时,Web 服务器可以决定在指定资源的上下文中如何处理数据
PUT 具有幂等性,即调用任意次数都不会对资源产生影响。
但是,POST 不是幂等的,这意味着如果你多次调用 POST,它会不断创建更多资源
12)请提及哪种标记语言可用于 restful web api?
JSON 和 XML 是可以在 restful web api 中使用的两种标记语言
13) 谈谈 RPC 和文档样式 Web 服务之间的区别是什么?如何确定选择哪一个?
在文档样式 Web 服务中,我们可以将 XML 消息作为 SOAP 请求的一部分进行传输,而这在 RPC 样式 Web 服务中是不可能的。文档样式 Web 服务最适合某些应用程序,在这些应用程序中,XML 消息表现为文档,并且该文档的内容可以更改,而 Web 服务的意图不依赖于 XML 消息的内容。
14)请提及什么是 JAX-WS 和 JAX-RS?
JAX-WS 和 JAX-RS 都是用于以各种方式进行通信的库(API), Java。JAX-WS 是一个可用于在 JAVA 中进行 SOAP 通信的库,而 JAX-RS 可让您在 JAVA 中进行 REST 通信。
15)列出用于开发或测试Web API的工具或API?
REST API 的 Web 服务测试工具包括
- 使用 MVC 的 Spring REST Web 服务
- 泽西岛 API
- CXF
- 轴
- 雷斯特莱特,
16)请说出 SOAP 和 REST 之间的区别?
SOAP | REST的 |
---|---|
SOAP 是两台计算机通过共享 XML 文档进行通信的协议。 | Rest 是一种基于网络的软件架构的服务架构和设计。 |
SOAP 仅允许 XML | REST 支持多种不同的数据格式 |
基于 SOAP 的读取无法缓存 | REST 读取可以缓存 |
SOAP 就像自定义桌面应用程序,与服务器紧密连接 | REST 客户端更像是一个浏览器;它知道如何标准化方法,并且应用程序必须适合它 |
SOAP 比 REST 慢 | REST 比 SOAP 更快 |
它在 HTTP 上运行,但封装了消息 | 它使用 HTTP 标头来保存元信息 |
这些面试问题也会对你的口试有帮助