gpt4 book ai didi

java - 拦截 Rest Controller 响应

转载 作者:行者123 更新时间:2023-11-30 03:21:08 25 4
gpt4 key购买 nike

我正在使用 Spring Boot 构建 REST 服务。我的 Controller 用 @RestController 注释。出于调试目的,我想拦截每个 Controller 方法生成的 ResponseEntity(如果可能)。然后我希望构造一个新的 ResponseEntity,它在某种程度上基于 Controller 生成的响应实体。最后,新生成的 ResponseEntity 将替换 Controller 生成的 ResponseEntity 并作为响应的一部分返回。

我只想在调试应用程序时能够执行此操作。否则我希望 Controller 生成的标准响应返回给客户端。

例如我有 Controller

@RestController
class SimpleController

@RequestMapping(method=RequestMethod.GET, value="/getname")
public NameObject categories()
{
return new NameObject("John Smith");
}
}

class NameObject{
private String name;
public NameObject(name){
this.name = name;
}
public String getName(){ return name; }
}

这将生成响应:

{"name" : "John Smith"}

但我想更改响应以包含实际响应的状态信息,例如:

{"result": {"name" : "John Smith"}, "status" : 200 }

任何指示表示赞赏。

最佳答案

我尝试实现此类功能的方法是首先创建一个拦截器。示例可以找到 here

其次,我将使用 Spring 配置文件来确保拦截器仅在我需要的配置文件中加载。详细信息 here 。这不是精确的调试,但可能可以解决问题。

关于java - 拦截 Rest Controller 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31315649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com