@RequestMapping(value="/Students", method = RequestMethod.GET)
public ResponseEntity<List<Students>> getStudents()
{
long beginTime = System.currentTimeMillis();
List<Students> students = (List<Students>) repository.findAll();
if(students.isEmpty())
{
return new ResponseEntity(HttpStatus.NO_CONTENT);
}
long responseTime = System.currentTimeMillis() - beginTime;
logger.info("Response time for the call was "+responseTime);
return new ResponseEntity(students, HttpStatus.OK);
}
有没有更好的方法来追踪电话的时间?
您可以使用springboot的Around Advice,并在Advice中记录时间。它的工作方式是,一旦对控制器发出调用,Around通知就会拦截它并启动计时器(以记录所用的时间)。根据建议,我们使用jointpoint.proceed()方法进入主控制器。一旦控制器返回该值,您就可以记录计时器值。返回对象。
下面是示例代码:
在build.grale include中
compile("org.aspectj:aspectjweaver:1.8.8")
@Component
@Aspect
public class advice{
@Around(("@annotation(logger)")
public Object loggerAspect(ProceedingJoinPoint joinPoint){
// start the Timer
Object object = jointPoint.proceed();
// log the timer value
return object;
}
}
在controller方法中添加注释@logger。你可以走了。
希望这有帮助。
您可以参考链接获得完整的解释。
我目前正在使用Jmeter测试API的响应时间。让我们称之为API A。如果API A调用API B,而API B托管在同一台服务器上,但端口不同,那么我有没有办法使用JMeter捕获API B的响应时间呢? 我意识到这里有一个类似的问题,试图完成同样的事情,但它对我不起作用。我看不到对API B的内部调用。
嗨,我正在为后端使用Laravel API,并在React中使用Redux进行登录。嗯,我调用API,我希望laravel API传递正在发生的事情的精确错误,例如用户不存在。问题是当我想在使用axios进行的调用的catch部分访问Mesage时 Laravel登录部分 使用axios响应调用 我在网络控制台中得到的响应 xhr.js:177邮政http://127.0.0.1:8000/api
我正在开发一个Spring boot应用程序,当响应时间超过30秒时,我必须抛出一个错误。 因为我正在使用应用程序。yml,我试过了 因为它不工作,尝试使用application.properties-. it不工作。 试图找出如何在这两种情况下抛出系统错误。即当系统空闲后发生超时且响应时间超过30秒时
从我的后端应用程序(springboot,java8)中,我将进行多个外部api调用。我需要将所有请求和响应数据(包括头、请求和响应体)记录到数据库(MongoDB)中。 下面是我的示例代码,这是我如何尝试捕获每个外部api调用的请求和响应。在异常情况下,我将存储状态为“失败”。 在我的项目中,将在新的第三方api集成上添加多个模块,因此在每个模块中,对于每个不同的外部api调用,我必须捕获所有这
我正在尝试在y应用程序中实现REST APIendpoint。 因此,我编写了包含映射为(Heroku/ResSources)的方法的类。但是当我试图调用它时,我得到一个404错误,因为没有找到。但是,我甚至不想获得视图,而是要获得HTTP响应。