首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

直接从同一控制器的另一个REST端点调用REST端点(方法)是一种好的做法吗?

直接从同一控制器的另一个REST端点调用REST端点(方法)是一种好的做法吗?

直接从同一控制器的另一个REST端点调用REST端点(方法)是一种常见的做法,但是否好取决于具体情况和设计需求。以下是一些考虑因素:

  1. 代码复用性:如果多个REST端点需要共享相同的逻辑或功能,直接调用另一个REST端点可以避免代码重复,提高代码复用性。
  2. 代码维护性:通过直接调用另一个REST端点,可以将相关逻辑集中在一个地方,便于维护和修改。这样可以减少代码的冗余,并且当需要修改逻辑时,只需在一个地方进行修改。
  3. 性能考虑:直接调用同一控制器的另一个REST端点可以减少网络通信的开销,提高性能。因为不需要通过网络传输数据,而是直接在内存中进行方法调用。
  4. 依赖关系:如果直接调用另一个REST端点会导致循环依赖或产生过多的依赖关系,这可能会增加代码的复杂性和耦合度,不利于系统的扩展和维护。

综上所述,直接从同一控制器的另一个REST端点调用REST端点可以是一种好的做法,但需要根据具体情况进行权衡和决策。在设计时,需要考虑代码复用性、代码维护性、性能和依赖关系等因素,并根据实际需求做出合理的设计决策。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云云数据库MySQL版(TencentDB for MySQL):https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发(移动推送、移动分析、移动测试等):https://cloud.tencent.com/product/mobile
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云虚拟专用网络(VPC):https://cloud.tencent.com/product/vpc
  • 腾讯云安全产品(云防火墙、DDoS防护等):https://cloud.tencent.com/product/ddos
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WordPress REST API 内容注入漏洞分析

漏洞简介 在REST API自动包含在Wordpress4.7以上版本,WordPress REST API提供了一组易于使用HTTP端点,可以使用户以简单JSON格式访问网站数据,包括用户,帖子...控制器 WP-API中采用了控制器概念,为表示自愿端点类提供了标准模式,所有资源端点都扩展WP_REST_Controller来保证其实现通用方法。...用于另一个访问一个WordPress站点。 资源 简单来说,就是文章,页面,评论等。...代码中可以看出,它是用wp_posts中get_instance静态方法来获取文章,跟进wp_posts类,位于/wp-includes/class-wp-post.php中: public static...另一个思路就是可以进行对原来文章中指定超链接进行修改,从而进行钓鱼。 还有一个思路,就是利用WordPress文章中解析html以及JavaScript文件包含做法,辅助其他方法,进行攻击。

3.1K70

为什么GraphQLAPI未来

GraphQL 一种由 Facebook 在 2012 年开发并于 2015 年公开发布查询语言。...REST 很久以前,当我们把 API 设计 SOAP 转向 REST 时,认为此举将会为工作提供更多灵活性。我们不能否认 REST 运作良好,在当时一个很好举措。...如果要发出 GET 请求,则需要具有特定参数并特定于该请求端点。如果要发出 POST 请求,则需要该请求另一个端点。 ? REST 有太多端点 但是这有什么问题呢?...如上所述,这些问题: 表现不佳 端点过多 过度获取或欠缺数据 每当我们要增加或删除某些内容时,需要开发另一个版本 API 难以理解 考虑到许多概念,Facebook 开发人员开使用了一种更好方法来设计...GraphQL 只需要一个端点,通过它我们可以在单个请求中获得尽可能多数据。基本上 GraphQL 会将你所有查询、修改和订阅封装在一个端点中,并供你调用

1.6K30

REST API 设计最佳实践:如何构建、设计和使用 API ?

但是,我主要接触REST,这是一种基于资源API和Web服务开发架构风格。在我职业生涯中有很大一部分时间都参与了构建、设计和使用API 项目。...REST以资源为导向,资源由URI表示:/library/ 端点(endpoint)动词和URI组合,例如:GET: /books/ 端点可以理解为对资源执行操作。...我将注意到:param 一个URI参数(如ID或缩写)占位符,你第一个想法可能创建类似于这个端点: GET: /books/:slug/generateBookCover/ 但是,在这里GET方法在语法上足以说明我们正在获取...但是,现在不再清楚您请求哪种类型资源。 作者?还是书籍?...而且扁平化总比嵌套,所以肯定有更好方法... 确实如此!...有一天,当我将REST API集成到我一个项目中时,每次调用都收到HTTP 500内部错误。

33240

Spring5之WebFlux

在本篇文章中,我们将使用响应式Web组件RestController和WebClient创建一个小型响应式REST应用程序,并且研究如何使用Spring Security保护我们响应式端点。...3.依赖管理 我们直接spring-boot-starter-webflux依赖开始,实际上它引入了所有其他必需依赖: 用于基本Spring Boot应用程序设置spring-boot和...5.1:单一资源 在我们控制器中创建一个发布单个Employee资源端点: @GetMapping("/{id}") private Mono getEmployeeById...5.2:集合资源 在我们控制器中再添加一个端点,用于发布所有Employees集合资源: @GetMapping private Flux getAllEmployees...在客户端,我们使用WebClientEmployeeController中创建端点检索数据。

2.5K10

1.1 REST

请求--响应类API典型做法,通过基于HTTPWeb服务器暴露一个/套接口。API定义一些端点,客户端发送数据请求到这些端点,Web服务器处理这些请求,然后返回响应。...1.1 REST REST全称是Representational State Transfer 表述性状态传递。REST可能现在最流行一种Web API。...,不同HTTP方法作用于同一个URL上可实现不同功能: 创建 -- POST 读取 -- GET 整体更新 -- PUT 局部更新 -- PATCH 删除 -- DELETE...RPC一种比较简单API,客户端直接会执行另一个服务器上代码。 REST关于资源,而RPC就是关于动作。...这表示客户端按块接收数据,块与块之间用换行符分割:“\r\n”。 另一个选项通过Server-Sent Events (SSE)来进行流数据。

1.2K21

常见形式 Web API 简单分类总结

请求--响应类API典型做法,通过基于HTTPWeb服务器暴露一个/套接口。API定义一些端点,客户端发送数据请求到这些端点,Web服务器处理这些请求,然后返回响应。...1.1 REST REST全称是Representational State Transfer 表述性状态传递。REST可能现在最流行一种Web API。...,不同HTTP方法作用于同一个URL上可实现不同功能: 创建 -- POST 读取 -- GET 整体更新 -- PUT 局部更新 -- PATCH 删除 -- DELETE...RPC一种比较简单API,客户端直接会执行另一个服务器上代码。 REST关于资源,而RPC就是关于动作。...这表示客户端按块接收数据,块与块之间用换行符分割:“\r\n”。 另一个选项通过Server-Sent Events (SSE)来进行流数据。

2.9K50

Hystrix缓存使用

在分布式系统中,缓存提高系统性能一种有效方式。Hystrix框架提供了缓存机制,可以缓存一些常用命令结果,从而避免重复执行命令。在本文中,我们将介绍如何使用Hystrix缓存,并给出示例。...最后,我们还定义了一个名为myFallback私有方法,该方法在命令执行失败时被调用。在这种情况下,我们返回一个字符串“Fallback Result”。...测试Hystrix缓存要测试Hystrix缓存,我们可以创建一个名为MyController控制器类,并在该类中添加一个REST端点,该端点调用MyServiceHystrix命令。...当我们调用端点时,它将调用MyServicemyCommand方法,并返回命令结果。现在我们可以使用Postman或类似的工具来测试我们REST端点。...首先,我们发送一个带有“foo”参数请求,这将导致命令执行并返回“Result”字符串。然后,我们发送另一个具有相同参数“foo”请求。

33621

将机器学习模型部署为REST API

具体实现方式:用SOA调用Rserve方式去实现,我们会在服务器上部署R环境和安装好Rserve,然后用JAVA写好SOA接口,调用Rserve来进行预测; java调用Rserve方式见网页链接...四、只用LinuxShell来调度模型实现方法-简单粗暴 因为有些算法工程师想快速迭代,把模型模拟线上线看一下效果,所以针对离线预测模型形式,还有一种最简单粗暴方法,这种方法开发快速方便,具体做法如下...这里有一个明确分工,这对于定义职责很有帮助,并且阻止我直接阻止那些不参与项目机器学习方面的队友。另一个优点模型可以由在不同平台上工作多个开发人员使用。...每个类别可以具有对应于REST API主要行动,如方法:GET,PUT,POST,和DELETE。GET将是主要方法,因为我们目标提供预测。...您可以想象您可能有多个端点,每个端点指向可以进行不同预测不同模型。一个示例可以是端点,'/ratings'其将指导用户到另一个模型,该模型可以预测给定类型,预算和生产成员电影评级。

3.2K20

你还在用 REST API

作者 | Harsha Vardhan 译者 | 刘雅梦 策划 | 田晓旭 通过 HTTP 发送数据,许多开发人员已经在用 REST 了,而 GraphQL 通常被认为一种代替遗留 REST API...灵活性 使用 REST 另一个优势,因为可以将其设计成处理不同类型调用并返回不同数据格式。 REST 劣势 抓取过度——这是指 API 端点提供信息比客户端所需要要多得多。...GraphQL 一种 API 设计架构,它采用了不同方法,在这种方法中,所有的东西都被视为一个表示其连接图。...这也意味着我们可以定制我们请求,这样我们就可以端点发出任何请求,并且能获得我们所请求任何内容,仅此而已,无需更多操作。我们传递查询并得到响应。...简洁明了,不是? GraphQL vs REST 总结一下,两者主要有如下几个明显差异: 数据抓取 REST 会导致抓取过度或抓取不足,而 GraphQL 则不会这样。

1.5K10

4种主流API架构风格对比

(四种 API 架构风格) RPC:调用另一个系统函数 远程过程调用一种允许在不同上下文中远程执行函数规范。RPC 扩展了本地过程调用概念,并将其放在 HTTP API 上下文中。...服务端和客户端之间交互机制归结为调用端点并获得响应。 易于添加新函数。...如果 API 有了新需求,我们可以轻松地添加另一个执行这个需求端点:1)编写一个新函数,并将其放在一个新端点之后;2)现在,客户可以访问这个端点,并获取符合其需求信息。 高性能。...RPC 紧密耦合使得可伸缩性要求和松散耦合团队难以实现。因此,客户端要么会担心调用特定端点带来任何可能副作用,要么需要尝试弄清楚要调用端点,因为客户端不了解服务器如何命名其函数。...在用于连接不需要查询灵活性资源驱动型应用时,REST 一种非常有效方法。 GraphQL:仅请求所需要数据 REST API 需要被多次调用才能返回所需要资源。

2.3K30

使用 GraphQL 和 Ballerina 操作多个数据源

GraphQL 是什么 GraphQL 一种应用层服务器端技术,由 Facebook 于 2012 年开始开发,并于 2015 年公开发布,用于优化 REST API 调用。...GraphQL 更好 REST 在过去十年中,REST 已经成为一种流行 API 设计架构。...REST 和 GraphQL 可以被认为解决同一问题(通过 Web 服务访问数据)两种不同方法。但是,随着客户端对 API 访问需求发生了快速变化,REST API 已经变得太不灵活了。...避免过度获取或获取不足 过度获取意味着获取信息超过了你需要。这在使用 REST 时非常常见,因为它总是给定端点返回固定数据集,而客户端实际上具有特定数据需求。...有两种设计 GraphQL 端点方法: 模式优先方法:需要使用 GraphQL 模式来创建 GraphQL 服务。 代码优先方法:模式不必需,可以直接使用代码编写端点,然后生成模式。

2.4K20

4种主流API架构风格对比

四种 API 架构风格 1RPC:调用另一个系统函数 远程过程调用一种允许在不同上下文中远程执行函数规范。RPC 扩展了本地过程调用概念,并将其放在 HTTP API 上下文中。...服务端和客户端之间交互机制归结为调用端点并获得响应。 易于添加新函数。...如果 API 有了新需求,我们可以轻松地添加另一个执行这个需求端点:1)编写一个新函数,并将其放在一个新端点之后;2)现在,客户可以访问这个端点,并获取符合其需求信息。 高性能。...RPC 紧密耦合使得可伸缩性要求和松散耦合团队难以实现。因此,客户端要么会担心调用特定端点带来任何可能副作用,要么需要尝试弄清楚要调用端点,因为客户端不了解服务器如何命名其函数。...在用于连接不需要查询灵活性资源驱动型应用时,REST 一种非常有效方法。 4GraphQL:仅请求所需要数据 REST API 需要被多次调用才能返回所需要资源。

2.3K20

GraphQL 和 REST 优缺点对比,附上代码示例

目的纠正REST一些缺点,但没有一项技术完美的。 与 REST 相比,GraphQL 有哪些优点?为什么要在项目中使用其中一种?...但是,一旦要处理大量数据,将 API 调用减少到最少显然会对您有好处。GraphQL 使得这一点很容易实现。 抓取过度/抓取不足 另一个存在问题过多抓取和抓取不足。...要显示单个用户帖子,我们需要用户信息和帖子内容。如果我用户端点获取用户,我仍然需要点击 posts 端点,并使用 userid 检索 posts。...当视图相对静态时候,这种方法工作得很好。但如果你前端经常变化,你就需要一个 API,它可以更灵活地返回数据。...本文来看,GraphQL 似乎总是比 REST ,但事实并非如此。在构建应用程序时,你所做每一个架构决策都有其优缺点,这也不例外。

99630

《ASP.NET Core 与 RESTful API 开发实战》-- (第7章)-- 读书笔记(下)

它作为 REST 统一界面约束中一个子约束, REST 架构中最重要、最复杂,也是构建成熟 REST 服务核心 Richardson 成熟度模型根据 REST 约束对 API 成熟度进行衡量一种方法...全称 Graph Query Language,作为查询语言,最主要特点能够根据客户端准确地获得它所需要数据 作为 API 查询语言,GraphQL 提供了一种以声明方式服务器上获取数据方法...实现同样目的,但它们各自实现方式以及特点有较大差异,主要体现在: (1)端点:对 REST 而言,每一个 URL 相当于一个资源,而 GraphQL 通过一个端点可以返回用户所需要任何数据 (...2)请求方式:REST 充分使用 HTTP 动词来访问不同端点,而 GraphQL 所有请求都是向服务器相同端点发送类似 JSON 格式信息 (3)资源表现形式:REST 得到资源事先定义固定数据结构...GraphQL 仅使用一个端点即可执行并响应所有 Graph 查询请求,因此它完全可以与 Library.API 项目中现有的 REST 端点共存,弥补 RESTful API 不足 添加nuget

99210

什么Spring Boot中@Async

异步方法 随着硬件和软件高度发展,现代应用变得更加复杂和要求更高。由于 高需求,工程师总是试图寻找新方法来提高应用程序性能和响应能力。慢节奏应用程序一种解决方案实施异步方法。...异步处理一种执行任务并发运行进程或函数,无需等待一个任务完成后再开始另一个任务。...:spring-boot-starter-web Web 依赖用于 REST 端点演示目的。...创建一个 REST 控制器来触发异步方法: @RestController public class AsyncController { private final OrderService orderService...在这种情况下,最重要一点对异步服务调用,在我们例子中compute()必须同一外部完成。如果我们在一个方法上使用@Async并在同一个类中调用它,它将不起作用。

8710

你真的知道你喜欢REST而不是RPC原因

REST: 一种基于资源(resource)请求风格 我不会详细解释到底什么REST,你可以阅读Roy Fielding论文和REST cookbook更多细节。...为了聚焦本文主题,我们长话短说:使用REST API,你将数据作为资源(resource),你通过HTTP协议使用正确HTTP动词操作,注意,正确动词: 端点上包含你要操作资源。...RPC和REST大决战 既然大家都在一个劲争论到底谁,或者REST就是,RPC就是不好,等等。为了能把问题说清楚,我们试图寻找一些比较指标,然后对二者进行一个全方位对比,看最后谁胜出?...,因此您可以对调用端点时发生事情进行精细的人工可读描述。...可用性 开发人员角度来看,两种样式都使用HTTP协议,因此RPC和REST请求之间基本没有区别。 平手。

1.2K60

我为什么要放弃RESTful,选择拥抱GraphQL

一种通常懒惰做法,前端不与后端沟通,仅在前端对数据选择性显示。...先看REST API做法REST API获取数据 再来看GraphQL怎么做: GraphQL获取数据 可以看出其中区别: 与REST多个endpoint不同,每一个 GraphQL...服务其实对外只提供了一个用于调用内部接口端点,所有的请求都访问这个暴露出来唯一端点。...了解清楚后我全面拥抱GraphQL GraphQL执行逻辑 有人会问: 使用了GraphQL就要完全抛弃REST了吗? GraphQL需要直接对接数据库?...新开发需求可以直接就使用GraphQL服务来获取数据了,以前已经上线功能无需改动,还是使用原有请求调用REST接口方式,最低程度降低更换GraphQL带来技术成本问题!

2.3K40

GraphQL

一种通常懒惰做法,前端不与后端沟通,仅在前端对数据选择性显示。...另外一种做法就是告知后端,要么开发新接口,要么,修改旧接口,删掉冗余字段。 但一般来说,开发新接口往往后端开发人员会选择方案,因为这个方案对现有系统影响最低,不会有额外风险。...先看REST API做法REST API获取数据 再来看GraphQL怎么做: GraphQL获取数据 可以看出其中区别: 与REST多个endpoint不同,每一个 GraphQL 服务其实对外只提供了一个用于调用内部接口端点...了解清楚后我全面拥抱GraphQL GraphQL执行逻辑 有人会问: 使用了GraphQL就要完全抛弃REST了吗? GraphQL需要直接对接数据库?...新开发需求可以直接就使用GraphQL服务来获取数据了,以前已经上线功能无需改动,还是使用原有请求调用REST接口方式,最低程度降低更换GraphQL带来技术成本问题!

2.6K65

如何使用模拟框架测试微服务? | 微服务系列第八篇

但是,重要要记住,模拟不能直接替代真正集成测试。 二、使用模拟框架和其他微服务测试工具进行开发 在Java项目中有许多模拟框架选项。...开发微服务测试时另一个常见问题每个单元测试通常会检查许多相同条件,例如REST方法调用返回值,或现有对象最终状态。...when方法定义了触发REST API所需一些初始信息,例如端点和一些参数以及标头值。 then方法标识REST调用输出中期望值。...双击SessionResource.java文件并查找getSpeakersSession方法。 在testGet方法开头,wireMockRule类属性中调用stubFor方法。...调用when方法以准备REST Assured以调用REST端点

3.5K20
领券