Spring控制器和端点之间的区别

时间:2016-03-15 10:03:40

标签: java spring spring-mvc spring-boot-actuator

Spring boot执行器提供了一些端点,如健康,指标,信息。它还允许我们编写自己的自定义端点。

我有一个要求,我需要将一些Dropwizard指标统计信息作为端点公开。最新的Spring-boot确实支持dropwizard指标,但它不符合我的要求,因此我计划拥有自己的Web端点/stats

但现在我无法确定它应该是正常Controller还是自定义执行器Endpoint。这两个术语有什么区别?

PS:问题似乎确实是意见基础,但答案应该很简单。

1 个答案:

答案 0 :(得分:7)

端点是控制器的更具体或特殊的版本。

  

端点只是将要写入的数据直接返回到响应的主体(与在Controller中执行@ResponseBody类似),而不是依赖于视图(例如JSP)来呈现HTML中的模型数据。

Actuator Endpoint是一个更好的选择,原因如下:

  1. 端点用于执行在HTTP上打印对象(Json)的高度特定任务,这正是您要在此处执行的操作。
  2. 将monitor-n-manage代码与特定于应用程序的代码分开。
  3. 保持清洁和凝聚力